for循环ConcurrentModificationException
时间: 2023-11-04 16:00:38 浏览: 104
java 集合并发操作出现的异常ConcurrentModificationException
5星 · 资源好评率100%
在Java中,当使用增强for循环遍历集合时,如果在遍历过程中对集合进行了增删操作,就会引发ConcurrentModificationException异常。这是因为增强for循环使用的是迭代器,在遍历时会检查集合的结构是否发生了改变。如果发现结构发生了改变,就会抛出ConcurrentModificationException异常。
这个问题也可以通过以下例子来说明:
```java
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
for(String fruit : list) {
if(fruit.equals("banana")) {
list.remove(fruit);
}
}
```
在上述例子中,当遍历到"banana"时,使用list.remove()删除了该元素。由于在遍历过程中对集合进行了删除操作,就会抛出ConcurrentModificationException异常。
阅读全文