当前位置:首页 > 开发 > 编程语言 > Java > 正文

java.util.ConcurrentModificationException

发表于: 2012-05-22   作者:chenzhou123520   来源:转载   浏览次数:
摘要:   在使用增强for循环遍历List时如果在循环中执行remove会报 java.util.ConcurrentModificationException异常。 有两种解决办法: 1.在循环遍历时先将需要删除的元素用另一个List包装起来,等遍历结束再remove掉。示例如下: List<Group> delList = new ArrayList<Gro

 

在使用增强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.util.ConcurrentModificationException

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号