Java ArrayList遍歷時刪除乙個元素

2021-07-07 03:24:41 字數 371 閱讀 3340

我們知道arraylist的底層是用陣列實現的,如果你刪除了其中乙個元素,那麼後邊的元素都會向前移動。所以在遍歷時如果刪除元素,就要小心了。

第一種方法,用陣列下標進行遍歷,如果需要刪除元素,我們從後向前遍歷,這樣不論有沒有元素刪除,我們都不會遺漏未被遍歷的元素。

第二種方法,我們使用迭代器

iterator itr = list.iterator();

while(itr.hasnext()) }

總之,如果你的刪除操作比較多的話,建議使用linkedlist。

原文:hongchangfirst

hongchangfirst的主頁:

Java ArrayList擴容機制

底部採用動態陣列實現資料增加,刪除。size arraylist的實際存放資料個數,即我們常說的list長度,size 函式 elementdate elementdate,arraylist實際存放資料的陣列,可動態擴容,我們所說的就是動態改變elementdate.length,從而達到擴容,實...

java ArrayList原始碼學習

該類繼承於abstractlist,裡面對於資料和結構的操作如下。trimtosize 更新size,如果size小於 陣列的 lenth,則更新size的大小。public void ensurecapacity int mincapacity 確保容量,如果不夠就擴容成原來的1.5倍 1 pub...

Java ArrayList原始碼分析

private static final int default capacity 10 transient object elementdata 擴容函式 private void grow int mincapacity public static native void arraycopy o...