ArrayList容器remove方法失效?

2021-08-27 18:56:19 字數 710 閱讀 8257

問題深究原始碼

原因解決方案

最近在寫增刪改查的時候遇到乙個問題,苦思冥想了很久,最後旁邊的小哥哥一句「看原始碼就知道了」,遂恍然大悟,晚上趁著還早,花點時間記錄下來。

需求是這樣的:需要按照arraylist容器中元素的某乙個屬性刪除匹配的元素。

public class user
public static void main(string args)
在每次執行remove方法後,對i減1

從後往前執行remove

public inte***ce listextends collection
userlist.remove(matchlist.get(i).intvalue());//遍歷matchlist對userlist執行remove方法
for (int i = 0; i < userlist.size(); i++)

if (agelist.contains(userlist.get(i).getage()))

userlist.remove(i--);//先刪除匹配的元素,然後將索引值i減1

以後如果想要實現的效果與預期不符,可以嘗試開始看原始碼了,畢竟那麼多方法,記不全的。搞不好乙個引數型別不對,全滿皆輸。

容器 ArrayList學習

陣列也是一種容器,但是容器更加靈活 更加強大,它的容量是隨時可擴的。set list繼承collection 實現set介面 hashset 實現list介面 arraylist linkedlist 實現map介面 hashmap。list是有序 可重複的容器 list介面的實現類有 arrayl...

java容器學習,ArrayList

一 類圖 二 持有屬性 三 講解modcount屬性 四 構造器 五 擴容 六 內部類 二 arraylist持有屬性 private static final int default capacity 10 預設擴容大小,第一次擴容,如果容器大小小於10,預設為10 private static ...

AJPFX關於ArrayList集合容器的操作

1 建立 arraylist mylist new arraylist 代表建立出egg型別的list,新的arraylist物件會建立在堆上 2 加入元素 egg s new egg mylist.add s 此arraylist會產生乙個 盒子 來放egg物件 3 再加入元素 egg b new...