原始碼分析: default_capacity = 10 預設容量
注意:沒有向集合中新增任何元素時,容量為0
新增了元素的話,預設容量則為10
每次擴容大小是原來的1.5倍
elementdata 存放元素的陣列
size 實際的元素個數
add() 新增元素
public
boolean
add(e e)
private
void
ensurecapacityinternal
(int mincapacity)
private
static
intcalculatecapacity
(object[
] elementdata,
int mincapacity)
return mincapacity;
}
private
void
ensureexplicitcapacity
(int mincapacity)
核心**,陣列擴容
private
void
grow
(int mincapacity)
list實現類的區別
1 arraylist 非執行緒安全 基於物件陣列 get int index 不需要遍歷陣列,速度快 iterator 方法中呼叫了get int index 所以速度也快 set int index,e e 不需要遍歷陣列,速度快 add方法需要考慮擴容與陣列複製問題,速度慢 remove ob...
List的主要實現類
arraylist list的主要實現類 list中相對於collection,新增加的方法 void add int index,object ele 在指定的索引位置index新增元素ele boolean addall int index,collection eles object get ...
list 模板類的簡單實現
最近學資料結構,於是嘗試著去實現了乙個 list 類,發現確實有很多問題,特別是類的繼承這一塊,有些問題搞不懂 這個 list 類只是乙個簡單的實現,只提供了基本的功能,也沒有邊界檢測什麼的,越界訪問的問題由使用者自己把握 很多功能都是沒有實現的,總得來說這是乙個比較裸的 list 模板類,沒有什麼...