今天在公司写一个项目时对一个List进行遍历时,遇到不满足条件的数据需要删除。一开始在遍历时,直接将那些数据remove掉,但是项目运行时报了
java.util.ConcurrentModificationException
的错,在网上找了原因,得到的结果是不能在对一个List进行遍历的时候将其中的元素删除掉,正确的做法是先将要删除的元素用另一个list装起来,等遍历结束再remove掉,具体操作如下:
List delList = new ArrayList();//用来装需要删除的元素
for(Information ia:list)
if(ia.getId()==k){
n++;
delList.add(ia);
}
list.removeAll(delList);//遍历完成后执行删除