list数组遍历时能不能使用remove()方法,要注意什么

list数组遍历时能不能使用remove()方法,要注意什么list数组遍历时能不能使用remove()方法,要注意什么

大家好,又见面了,我是你们的朋友全栈君。

面试的时候经常会被问到,list遍历时能不能使用remove()方法?

能不能使用呢?话说存在即合理,能使用时肯定可以的,不过要做点修改,看下面直接使用remove()的结果。

	List<String> list=new ArrayList<String>();
		list.add("1");
		list.add("2");
		list.add("3");
		list.add("4");
		for(int i=0;i<list.size();i++){
			if(i==1)list.remove(1);
			System.out.println(list.get(i));
		}

输出结果是:

1
3
4                                                                                      

看结果好像没什么错,但是如果是if(i==3),那么就是删除最后一个元素了,那后面的输出语句就会报下标越界了:

因为删掉一个元素后后面的元素下标都会减一,因此实际使用的时候注意到这一点就行了。面试的时候跟面试官说清楚这一点就行了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106082.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • django restful API 代码自动生成_restful接口设计规范

    django restful API 代码自动生成_restful接口设计规范restful接口规范什么是接口规范?接口规范就是为了采用不同的后台语言,也能使用同样的接口获取到同样的数据。如何写接口:接口规范是规范化书写接口的,写接口要写url、响应数据​注:如果将请求参

    2022年7月29日
    8
  • 在flask中使用jsonify和json.dumps的区别

    在flask中使用jsonify和json.dumps的区别flask提供了jsonify函数供用户处理返回的序列化json数据,而python自带的json库中也有dumps方法可以序列化json对象,那么在flask的视图函数中return它们会有什么不同之处呢?想必开始很多人和我一样搞不清楚,只知道既然框架提供了方法就用,肯定不会错。但作为开发人员,我们需要弄清楚开发过程中各种实现方式的特点和区别,这样在我们面对不同的需求时才能做出相对合理的选择,而

    2022年5月24日
    34
  • 接口定义

    接口定义1、什么是接口接口一般来讲分为两种程序内部的接口:方法与方法、模块与模块之间的交互,程序内部抛出的接口,如登录发帖,发帖就必须要登录,如果不登录不能发帖,发帖和登录这两个模块之间就要有交互,就会抛

    2022年7月1日
    31
  • Java取余操作时的符号问题[通俗易懂]

    Java取余操作时的符号问题[通俗易懂]上课时只听老师说过,Java取余的操作的符号位是和被除数一致的,但不知道为啥例如:-14%3余数是-214%-3余数是2后来才知道,对余数的定义是 (a/b)*b+a%b恒等于a这样的话,-14/3*3的结果是-4*3=-12,所以余数是-2;14%3同理啦

    2022年5月27日
    44
  • 文件服务器审计—首选Netwrix文件服务器审计工具

    文件服务器审计—首选Netwrix文件服务器审计工具文件服务器审计—首选Netwrix文件服务器审计工具为了遵守外部法规和确保业务连续性,企业需要审核他们的文件服务器,以确保防止敏感数据泄漏和未经授权的修改。看到论坛很多类似的讨论,而且微软自带的审计策略往往不能满足IT的所有需求。常常通过第三方的软件来实现文件服务器的审计功能。NetwrixWindows文件服务器工具有免费版本的变更通知工具以及收费版本的审计工具。可以自…

    2022年6月4日
    62
  • scl语言用plc脉冲做定时器_scl语言用plc脉冲做定时器_西门子PLC SCL语言开发学习笔记(二)…

    scl语言用plc脉冲做定时器_scl语言用plc脉冲做定时器_西门子PLC SCL语言开发学习笔记(二)…今天来讲下scl两个关键的点一、按键事件比如地址I0.0是某个按钮的状态,他只有True和False两个状态,所以我们要获得按下事件需要我们自己模拟。#KeyPress:=”Btn1″ANDNOT#LastKey;#LastKey:=”Btn1″;这样通过对#KeyPress判断是否为True即可获得一次点击事件,相当于|P|把上一次的存起来,然后判断按下,如果你想把按键放在松开时…

    2022年10月6日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号