List迴圈輸出時刪除元素

2021-08-31 15:37:55 字數 483 閱讀 5733

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...