如果符合条件,我需要从列表中删除一些对象。
但我得到java.util.ConcurrentModificationException
。
这是我的代码:
collegeList.addAll(CollegeManager.findByCollegeID(stateCode, districtCode));
for(College clg:collegeList){
if(!clg.approve()){
collegeList.remove(clg);
}
}
答案 0 :(得分:11)
在以这种方式迭代元素时,您无法删除元素。请改用Iterator
。
Iterator<College> iter = collegeList.iterator();
while(iter.hasNext()) {
College clg = iter.next();
if(!clg.approve()) {
iter.remove();
}
}
答案 1 :(得分:0)
您需要使用Iterator
来迭代List
并使用Iterator#remove()
删除对象。