Java -- 集合 -- 如何安全刪除 List 中的元素

方法一:

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(); //移除該對象
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章