java.util.ConcurrentModificationException
程序员文章站
2022-05-23 13:36:54
...
在使用增强for循环遍历List时如果在循环中执行remove会报 java.util.ConcurrentModificationException异常。
有两种解决办法:
1.在循环遍历时先将需要删除的元素用另一个List包装起来,等遍历结束再remove掉。示例如下:
List<Group> delList = new ArrayList<Group>();//用来装需要删除的元素 for(Group g:list){ if(g.getId()>5){ delList.add(g); } } list.removeAll(delList);//遍历完成后执行删除2.使用Iterator迭代器来遍历集合,并通过迭代器的remove方法来删除指定的元素。示例如下:
Iterator<Group> it = list.iterator(); while(it.hasNext()){ if(it.next().getId()>5){ it.remove(); } }
推荐阅读
-
关于java List的remove方法导致的异常java.util.ConcurrentModificationException
-
java.util.ConcurrentModificationException详解
-
java.util.ConcurrentModificationException
-
Caused by: java.util.ConcurrentModificationException
-
java.util.ConcurrentModificationException
-
java.util.ConcurrentModificationException: null
-
解决--java.util.ConcurrentModificationException
-
java.util.ConcurrentModificationException 解决方法
-
今天碰到 java.util.ConcurrentModificationException 异常
-
今天碰到 java.util.ConcurrentModificationException 异常