listlists = new arraylist();
lists.add("ad");
lists.add("dv");
lists.add("dvs");
lists.add("adf");
for(int i=0;isystem.out.println(s);
}
結果dvs
adf因為你在lists.remove(s);的時候,ad被刪除了,dv放在0的位置,而你for迴圈的i的值等於1了,列印的是lists(1),這個時候lists(1)值是dvs
解決:1.可以這樣:
for(int i=0;i結果是dv
dvsadf
2.for(int i=0;isystem.out.println(s);
}結果是
***vs
adf
迴圈中刪除List中的元素
remove 方法刪除元素後會立刻更新list的size,因此index也發生了變化,會導致漏掉某些元素。for int i 0 i解決方案一 在刪除某乙個元素後直接break,當然這種情況只適合刪除乙個特定元素,不適合刪除多個元素 解決方案二 index回退一位,如下 for int i 0 i刪...
List刪除元素
1.首先list刪除元素是不能用增強for語句 foreach 的,因為增強for語句主要是用來查詢的。雖然也可以用迭代器iterator來刪除,但本人建議最好還是用普通for迴圈來刪除。2.list空間是存在於快取中的,從資料庫中取來的資料放在list中,然後進行刪除,這刪除的是快取中的資料並不會...
list剔除元素 遍歷List時剔除元素
遍歷list時刪除元素 一般呼叫刪除方法都是集合的方法,例如 list list new arraylist list.add list.remove 但是,如果在迴圈的過程中呼叫集合的remove 方法,就會導致迴圈出錯,例如 for int i 0 i list.remove 由於list每次r...