-2

如果满足条件,我需要从列表中删除一些对象。

但我越来越java.util.ConcurrentModificationException

这是我的代码:

collegeList.addAll(CollegeManager.findByCollegeID(stateCode, districtCode));

for(College clg:collegeList){
    if(!clg.approve()){
        collegeList.remove(clg);
    }
}
4

2 回答 2

11

以这种方式遍历元素时,您无法删除元素。改用一个Iterator

Iterator<College> iter = collegeList.iterator();
while(iter.hasNext()) {
    College clg = iter.next();
    if(!clg.approve()) {
        iter.remove();
    }
}
于 2013-06-28T05:45:17.667 回答
0

您需要使用Iterator来遍历List和删除对象Iterator#remove()

于 2013-06-28T05:47:50.893 回答