list剔除元素 遍歷List時剔除元素

2021-10-17 06:13:03 字數 596 閱讀 9002

遍歷list時刪除元素

一般呼叫刪除方法都是集合的方法,例如:

list list = new arraylist();

list.add(...);

list.remove(...);

但是,如果在迴圈的過程中呼叫集合的remove()方法,就會導致迴圈出錯,例如:

for(int i=0;i

list.remove(...);

由於list每次remove乙個元素後,其後的元素都會向前移動,此時如果執行i++,則恰好跳過了後面的元素,所以導致了錯誤。

所以,如果你想在迴圈語句中刪除集合中的某個元素,就要用迭代器iterator的remove()方法,因為它的remove()方法不僅會刪除元素,還會維護乙個標誌,用來記錄目前是不是可刪除狀態,例如,你不能連續兩次呼叫它的remove()方法,呼叫之前至少有一次next()方法的呼叫。

for (iterator it = list.iterator(); it.hasnext();) {

string str = (string)it.next();

if (str.equals("deleted")){

it.remove();

List遍歷以及剔除指定資料

一.list三種遍歷方式 1.for迴圈 listlist new arraylist list.add a list.add b list.add c list.add d for int i 0 i list.size i 2.foreach迴圈 listlist new arraylist l...

List集合遍歷刪除元素

j a三種遍歷如何進行list的遍歷刪除 1 for迴圈 常見錯誤寫法 由於下標問題達不到想要效果 for int i 0 i應該改為 倒序操作避免下標問題 int size list.size for int i size 1 i 0 i 2 增強for迴圈 foreach迴圈 常見錯誤 會丟擲c...

遍歷刪除List中的元素

使用iterator的方式可以順利刪除和遍歷 正確方式 public void iteratorremove system.out.println students 使用增強的for迴圈 錯誤方式 在迴圈過程中從list中刪除非基本資料型別以後,繼續迴圈list時會報concurrentmodifi...