ArrayList的閱讀筆記

2021-07-27 07:24:51 字數 1543 閱讀 7347

arraylist大致上等同於 vector 類,除了此類是不同步的;

vector的長度擴充是原長度的

2倍,也可自定義擴充量

arraylist的是

1.5倍

arraylist的兩個屬性:

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是按...