1.for循环移除(错误)
for(int i=0; i<list.size(); i++) {
if(满足条件) {
list.remove(i);
}
}
该方法存在问题。当需要删除多个元素时,元素删除后,list的大小会发生变化,元素的索引也会发生变化,导致移除元素时会发生错误。
2.Iterator遍历(正确)
Iterator it = list.iterator();
while(it.hasNext()) {
Object o = it.next();
if(条件) {
it.remove();
}
}
该方法可以遍历和删除,删除多项元素时应该使用该方法。