1、倒序循环,因为list删除只会导致当前元素之后的元素位置发生改变,所以采用倒序可以保证前面的元素没有变化;
for(int i=list.size()-1;i>=0;i--){
list.remove(i);
}
2、顺序循环时,删除当前位置的值,下一个值就会补到当前位置,所以需要执行i–操作;
for (int i=0; i<list.size(); i++) {
if (list.get(i) == 3) {
list.remove(i);
i--;
}
}
3、注意必须用迭代器的remove()方法,不要用list的remove,不然会发生java.util.ConcurrentModificationException 异常;
if (null != list && list.size() > 0) {
Iterator it = list.iterator();
while(it.hasNext()){
Student stu = (Student)it.next();
if (stu.getStudentId() == studentId) {
it.remove(); //移除该对象
}
}
}
文章介绍了在Java中删除List元素的三种策略:1)倒序遍历并删除以避免影响未处理元素;2)顺序遍历时遇到特定值删除并调整索引以防止跳过元素;3)使用迭代器的remove方法以防止并发修改异常。



1万+

被折叠的 条评论
为什么被折叠?



