arraylist大致上等同於 vector 類,除了此類是不同步的;
vector的長度擴充是原長度的arraylist的兩個屬性:2倍,也可自定義擴充量
arraylist的是
1.5倍
transient object elementdata; 儲存集合元素,初始化length=10;主要方法:int size; 集合元素個數
contains是否包含某元素,呼叫indexof方法,迴圈迴圈遍歷;
public int indexof(object o) else
return -1;
}
add增加元素:
public boolean add(e e)
arraylist自動長度擴充:
ensurecapacity方法,如有必要,增加此 arraylist 例項的容量 每次擴充長度1.5倍
api:在新增大量元素前,應用程式可以使用 ensurecapacity
操作來增加
arraylist
例項的容量。這可以減少遞增式再分配的數量。
public void ensurecapacity(int mincapacity)
}
remove刪除元素:
public e remove(int index)
arraylist與linkedlist
的增刪查
增加:在第i位增加乙個元素
arraylist: 需要把第
i位及後面的所有元素往後移動一位;且
需要擴充元素陣列!
linkedlist:迴圈鍊錶,找到第
i位元素,重新指定前驅,後驅;(
size/2
折半迴圈)
刪除:刪除第i
位元素
arraylist: 需要把第
i位後面的所有元素往前移動一位;
linkedlist:迴圈鍊錶,找到第
i位元素,重新指定前驅,後驅;(
size/2
折半迴圈)
查詢:獲取第i
位元素
arraylist: 陣列下標i
linkedlist:迴圈鍊錶,找到第
i位元素(
size/2
折半迴圈)
ArrayList原始碼閱讀
arraylist原始碼閱讀 序列化id private static final long serialversionuid 8683452581122892189l 預設初始化容量 private static final int default capacity 10 空陣列 private ...
Arraylist 學習筆記
比如collection介面的設計一樣,可能會定義乙個容器需要的相關方法,但是他在提供乙個abstractcollection的抽象方法,把相關能通用的方法進行封裝實現,後面的容器直接繼承abstractcollection,將需要重寫的方法實現,其他abstractcollection實現的方法就...
ArrayList 理解(筆記)
1 是否允許空 允許 2 是否允許重複資料 允許 3 是否有序,有序的意思是讀取資料的順序和存放資料的順序是否一致 有序 4 是否執行緒安全 非執行緒安全 arraylist是基於陣列的乙個實現,elementdata就是底層的陣列,底層預設陣列大小10個 注意arraylist裡面的,size是按...