java.util.ConcurrentModificationException

 

在使用增强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,exception)