当前位置: 代码迷 >> 综合 >> List remove的三种正确方法
  详细解决方案

List remove的三种正确方法

热度:42   发布时间:2024-02-22 12:58:41.0

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(); //移除该对象}}
}

 

  相关解决方案