在对集合进行迭代的时候删除其中的元素 最好使用迭代器Iterator的remove方法进行删除
Iterator ite=list.iterator();while(ite.hasNext()){Object o=ite.next();if(/*此处写你希望o满足的删除条件*/)ite.remove();}
不能在对一个List进行遍历的时候将其中的元素删除掉
解决办法是,你可以先将要删除的元素用另一个list装起来,等遍历结束再remove 掉
可以这样写
List delList = new ArrayList();//用来装需要删除的元素for(Information ia:list)if(ia.getId()==k){n++;delList.add(ia);}list.removeAll(delList);//遍历完成后执行删除
这里的for循环没有涉及到迭代器,也就没有对集合是否发生改变进行判断,所以不会抛出异常
for(int i=0;iString str=list.get(i);if("bbb".equals(str)){list.remove(str);}}
上一篇:快乐的shell命令行