方法一:
for (int i = 0; i < list.size(); i++) {
if (判斷條件) {
list.remove(i);
i=i-1;
}
}
List 每 remove 掉一個元素以後,後面的元素都會向前移動(數組結構),此時如果正常執行 i=i+1 ,則剛剛移過來的元素沒有被讀取,導致在遍歷中存在漏掉元素的情況
方法二:
if (null != list && list.size() > 0) {
Iterator it = list.iterator();
while(it.hasNext()){
Student stu = (Student)it.next();
if (判斷條件) {
it.remove(); //移除該對象
}
}
}