ArrayList 循环遍历并删除元素的常见陷阱

简介: ArrayList 循环遍历并删除元素的常见陷阱

出现的问题:

如果在使用 for 循环遍历 ArrayList 时删除其中的元素,会抛出 ConcurrentModificationException 异常。

这是因为删除一个元素后,后面的元素会向前移动,但 for 循环的指针会继续向前移动一个,所以会导致有元素删除不到。

解决方法:

1. 可以使用 Iterator 迭代器遍历删除。

2. 也可以用 for 循环,从后往前遍历元素并删除元素,这样就不会导致部分元素遍历不到的问题。

代码参考:ArrayList 循环遍历并删除元素的常见陷阱

Java ArrayList 遍历删除问题

相关文章
|
4月前
|
Java
for-each循环使用iterator进行遍历
for-each循环使用iterator进行遍历
29 0
|
6月前
List根据条件删除元素的几种方式
List根据条件删除元素的几种方式
98 0
|
6月前
|
C#
C# 循环遍历使用
C# 循环遍历使用
153 0
|
安全
ArrayList中remove()方法删除元素之后下标重定位的问题
ArrayList中remove()方法删除元素之后下标重定位的问题
循环遍历的基本用法
循环遍历的基本用法
84 0
|
Java
ArrayList与LinkedList的遍历删除元素方法
ArrayList与LinkedList的遍历删除元素方法
306 0
迭代器遍历元素并给集合中添加元素时报ConcurrentModificationException
迭代器遍历元素并给集合中添加元素时报ConcurrentModificationException
101 0
|
自然语言处理 Java
遍历list时删除元素发生了什么?
遍历list时删除元素发生了什么?
116 0
ArrayList 三种遍历方法(for循环+下标、foreach、使用迭代器)
ArrayList 三种遍历方法(for循环+下标、foreach、使用迭代器)
|
安全 Java 容器
如何在遍历的同时删除ArrayList 中的元素
如何在遍历的同时删除ArrayList 中的元素
410 0