List<String> list = new ArrayList<String>();//这是我们的集合list.add(..);//放值for(String str : list) {if(list.constant("232")) {list.remove(str);//移除对象}}这时候就会报java.util.ConcurrentModificationException的异常原因是,我们对集合进行add,remove时List是动态的,当我们对集合迭代时,我们remove当前元素之后,当程序迭代下一个元素时就会找不到下一个元素的指针,所以会报错。不管是list set Map 迭代时都会报这样的错误解决方法:List delList = new ArrayList();//用来装需要删除的元素List<String> list = new ArrayList<String>();//Z这是我们的集合list.add(..);for(String str : list) {if(list.constant("232")) {list.remove(str);//移除对象}}list.removeAll(delList);//遍历完成后执行删除
java.util.ConcurrentModificationException 集合remove异常
最新推荐文章于 2024-05-13 10:11:09 发布
本文详细解析了在Java中对List集合进行迭代时同时执行添加或删除操作导致的ConcurrentModificationException异常。通过一个具体示例说明了异常产生的原因,并提供了一种避免此异常的有效解决方案。
2683

被折叠的 条评论
为什么被折叠?



