1.無參構造
初始化elementdata為defaultcapacity_empty_elementdata,此時的容量為0
publicarraylist()
2.帶有容量的構造
如果容量(initialcapacity)大於0 ,則初始化elementdata為object型別長度為initialcapacity的陣列
如果容量(initialcapacity)等於0,則初始化elementdata為empty_elementdata
否則(小於0),丟擲不合法引數異常
public arraylist(intinitialcapacity)
else
if (initialcapacity == 0)
else
}
3.帶有(collection<? extends e> c)引數的構造
首席c轉換為陣列賦值給elementdata
陣列elementdata的實際長度賦值給size,
如果size不等於0 代表有資料 如果c的型別不是object 則轉換為object型別給elementdata
否則(size等於0)elementdata 為empty_elementdata
public arraylist(collection<? extends e>c)else
}
Arraylist 學習筆記
比如collection介面的設計一樣,可能會定義乙個容器需要的相關方法,但是他在提供乙個abstractcollection的抽象方法,把相關能通用的方法進行封裝實現,後面的容器直接繼承abstractcollection,將需要重寫的方法實現,其他abstractcollection實現的方法就...
學習筆記ArrayList原始碼學習
arraylist原始碼學習 繼承自abstractlist,實現了list介面 private static final int default capacity 10 預設容量為10 transient object elementdata 底層使用object陣列來儲存資料 arraylist...
Java學習筆記 集合Arraylist
arraylist集合 arraylist list new arraylist 可以使object型也可以是類。通過例子說明arraylist的使用方法 arraylist list new arraylist list.add i 向list中新增乙個值object型的i值,list.add i...