如何遍历ArrayList集合,并安全删除其中的元素[通俗易懂]

如何遍历ArrayList集合,并安全删除其中的元素[通俗易懂]如何遍历ArrayList集合,并安全删除其中的元素?1、遍历ArrayList集合有三种方式(1)for循环(2)增强for循环,也就是foreach(3)迭代器iterator2、普通for循环遍历删除元素,list集合的大小会变小,而索引也会发生改变,所以利用ffor循环遍历删除元素会漏调某些元素。例如我for循环遍历删除第一个元素,接着按照…

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

如何遍历ArrayList集合,并安全删除其中的元素?

1、遍历ArrayList集合有三种方式
    (1)for循环
    (2)增强for循环,也就是foreach
    (3)迭代器iterator
2、普通for循环遍历删除元素,list集合的大小会变小,而索引也会发生改变,所以利用f
   for循环遍历删除元素会漏调某些元素。
   例如我for循环遍历删除第一个元素,接着按照索引去寻找第二个元素,由于删除的关系
   后面所有的元素都会往前面移动一位,就会导致按照索引得到的是第三个元素。
   解决方法:将list集合反过来遍历,循环删除其中的元素
   
   当我们使用增强for循环删除第一个元素后,再去遍历list集合,此时就会报并发修改错
   (concurrentModificationException异常)。
   通过查看list的remove方法的源码,我们可以看到,remove方法中有一个modCount++操作,
   然后再list集合的迭代器中有一个check操作,也就是检查modCount是否改变,如果改变
   就会抛出并发修改错误。
   解决方法:增强for循环遍历删除第一个元素后就break跳出。
   
   使用迭代器循环遍历删除某些元素,不会出现问题,但是我们要注意的是,使用的是
   iteraror.remove()方法,而不是list.remove()方法;如果使用的是list的remove方法,
   同样会报conCurrentModificationbException异常
3、总结
   如果是遍历删除list集合中某个特定的元素,使用这三个遍历方式都可以。
   如果要循环遍历删除多个元素,最好使用迭代器。其次使用普通for循环反过来遍历list集合
   
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2022年7月22日 下午12:36
下一篇 2022年7月22日 下午12:46


相关推荐

  • silverlight 播放器,丑丑版

    silverlight 播放器,丑丑版

    2021年8月12日
    55
  • VM安装Mac os x10.11的诸多坑人问题[通俗易懂]

    VM安装Mac os x10.11的诸多坑人问题[通俗易懂]注意事项1.首先,下载vm14,这里虚拟机的版本要高一点,不然激活成功教程后, MAcOSX没有高版本(10.11以上的不出现,先更新VM)2.下载完,进行激活成功教程.从网上找一个unlocker文件,发现运行 老失败,提示找不到drawin.*文件 原因大概率是exe文件兼容行问题,这个时候,编辑win_install那个文件 把所有exe都改成python运行对应py脚本就可以完美…

    2026年4月15日
    6
  • SDIO接口简单描述

    SDIO接口简单描述转 https www cnblogs com hellokitty2 p 10981084 htmlSDIO 接口一 SDIO 简介 SDIO 接口是在 SD 内存卡接口的基础上发展起来的接口 SDIO 接口兼容以前的 SD 内存卡 并且可以连接 SDIO 接口的设备 SDIO1 0 标准定义了两种类型的 SDIO 卡 1 全速的 SDIO 卡 传输率可以超过 100Mbps 2 低速的 SDIO 卡 支援的时脉速率

    2026年3月19日
    2
  • 『n8n』初识界面

    『n8n』初识界面

    2026年3月15日
    1
  • 蓝屏终止代码KMODE_windows10重置电脑

    蓝屏终止代码KMODE_windows10重置电脑安装双系统后,Windows10时常出现蓝屏

    2022年10月14日
    5
  • nginx启动成功_centos重启服务器命令

    nginx启动成功_centos重启服务器命令文章目录启动Nginx停止nginxservice服务脚本Nginx开机自启启动Nginxnginx安装完成后,切换到nginx安装目录中的sbin目录(如果在执行./configure没有指定额外的参数,则sbin目录为默认目录,否则切换到自定义目录),通过执行该目录下nginx编译后的二进制文件即可启动程序。cd/usr/local/nginx/sbin/nginx./nginx执行上面的操作后,成功启动nginx,程序是没有任何提示的。我们可以使用ps命令查看nginx的运行状态

    2022年8月13日
    8

发表回复

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

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