如何正確遍歷刪除List中的元素,你會嗎?

2021-06-19 03:34:33 字數 912 閱讀 3523

遍歷刪除list中的元素有很多種方法,當運用不當的時候就會產生問題。下面主要看看以下幾種遍歷刪除list中元素的形式:

1.通過增強的for迴圈刪除符合條件的多個元素

2.通過增強的for迴圈刪除符合條件的乙個元素

3.通過普通的for刪除刪除符合條件的多個元素

4.通過iterator進行遍歷刪除符合條件的多個元素

/** 

* 使用增強的for迴圈

* 在迴圈過程中從list中刪除非基本資料型別以後,繼續迴圈list時會報concurrentmodificationexception

*/

public void listremove()

}

/** 

* 像這種使用增強的for迴圈對list進行遍歷刪除,但刪除之後馬上就跳出的也不會出現異常

*/

public void listremovebreak()

} }

/** 

* 這種不使用增強的for迴圈的也可以正常刪除和遍歷,

* 這裡所謂的正常是指它不會報異常,但是刪除後得到的

* 資料不一定是正確的,這主要是因為刪除元素後,被刪除元素後

* 的元素索引發生了變化。假設被遍歷list中共有10個元素,當

* 刪除了第3個元素後,第4個元素就變成了第3個元素了,第5個就變成

* 了第4個了,但是程式下一步迴圈到的索引是第4個,

* 這時候取到的就是原本的第5個元素了。

*/

public void listremove2()

system.out.println(students);

}

遍歷刪除List中的元素

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

Freemarker中如何遍歷List

freemarker中如何遍歷list 在freemarker應用中經常會遍歷list獲取需要的資料,並對需要的資料進行排序加工後呈現給使用者。那麼在freemarker中如何遍歷list,並對list中資料進行適當的排序呢?一 freemarker中list指令簡單介紹 要想在freemarker...

Freemarker中如何遍歷List

freemarker中list指令簡單介紹 要想在freemarker中遍歷list,必須通過使用list指令,即 list sequence as item sequence是集合 collection 的表示式,item是迴圈變數的名字,不能是表示式。當在遍歷sequence時,會將遍歷變數的值...