ArrayList原始碼學習筆記

2021-10-14 07:25:37 字數 2362 閱讀 9636

原始碼解析

arraylist ---- 資料結構

private

static

final

int default_capacity =

10;private

static

final object[

] empty_elementdata=

;private

static

final object[

] defaultcapacity_empty_elementdata =

;transient object[

] elementdata;

int size =0;

// 構造方法

arraylist是基於動態陣列實現的,在增刪時候,需要陣列的拷貝複製。

arraylist的預設初始化容量是10,每次擴容時候增加原先容量的一半,也就是變為原來的1.5倍

刪除元素時不會減少容量,若希望減少容量則呼叫trimtosize()

它不是執行緒安全的。它能存放null值。

ArrayList原始碼學習

arraylist 乙個由陣列實現的集合物件,預設容量為10。特點 1 隨機查詢快 因為陣列是連續的記憶體空間可以使用索引直接定位陣列內的元素 2 隨機插入慢 因為會移動陣列 方法 add public boolean add e e grow 擴容時先判斷當前陣列size的2倍是否滿足所需最小si...

ArrayList原始碼學習

對於arraylist我們都很熟悉,使用起來非常的方便,使用的較多的方法有add remove indexof 等,對於這種優秀的集合框架,研究其原始碼能讓我們對其掌握更加深刻,能更合理的應用在業務場景中,同時我們自己在寫程式時也能夠參考其設計思想,提供我們的編碼水平。一.arraylist簡介 1...

ArrayList原始碼學習

randomaccess 隨機快速訪問介面 cloneable是標記型的介面,它們內部都沒有方法和屬性,實現 cloneable來表示該物件能被轉殖,能使用object.clone 方法。如果沒有實現 cloneable的類物件呼叫clone 就會丟擲clonenotsupportedexcepti...