方法一:
倒序循環,因爲list刪除只會導致當前元素之後的元素位置發生改變,所以採用倒序可以保證前面的元素沒有變化;
for(int i=list.size()-1;i>=0;i--){
list.remove(i);
}
方法二:
順序循環時,刪除當前位置的值,下一個值就會補到當前位置,所以需要執行i–操作;
for (int i=0; i<list.size(); i++) {
if (list.get(i) == 3) {
list.remove(i);
i--;
}
}
方法三:
注意必須用迭代器的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(); //移除該對象
}
}
}