arraylist 繼承 abstractlist 抽象類 是list 的子類
// 預設 陣列大小是 10個
private
static
final
int default_capacity =10;
private
static
final object[
] empty_elementdata =
;private
static
final object[
] defaultcapacity_empty_elementdata =
;//存放資料域
transient object[
] elementdata;
//當前有多少個元素
private
int size;
// 有參構造 傳入自定義arraylist大小
public
arraylist
(int initialcapacity)
else
if(initialcapacity ==0)
else
}// 無參構造 預設new 的方式
public
arraylist()
// 有參構造 傳入乙個包含collection的arraylist c
public
arraylist
(collection<
?extends
e> c)
else
}
// 傳入乙個 變數加入陣列末尾
public
boolean
add(e e)
// 將元素 存放到指定位置
public
void
add(
int index, e element)
// 呼叫 增加乙個元素 如果陣列滿了 進行擴容
private
void
add(e e, object[
] elementdata,
int s)
//在指定位置開始 增加乙個collection的arraylist c
public
boolean
addall
(int index, collection<
?extends
e> c)
// 增加乙個collection 的arraylist c
public
boolean
addall
(collection<
?extends
e> c)
// 刪除指定位置的元素
public e remove
(int index)
//實現移除
private
void
fastremove
(object[
] es,
int i)
// 移除 arraylist 中首次出現的指定元素物件 o 如果存在的話
public
boolean
remove
(object o)
else
return
false;}
fastremove
(es, i)
;return
true;}
//移除arraylist中包含在c中的元素
public
boolean
removeall
(collection<
?> c)
// 套娃
private object[
]grow()
// 返回了乙個擴容後的
private object[
]grow
(int mincapacity)
// 獲得新的大小容量
private
intnewcapacity
(int mincapacity)
// 如果新的容量 小於 最大array 長度( integer.max_value - 8;) 就返回 新的容量
// 否者就呼叫hugecapacity
return
(newcapacity - max_array_size <=0)
? newcapacity
:hugecapacity
(mincapacity);}
// 靜態方法
private
static
inthugecapacity
(int mincapacity)
// 返回乙個迭代器物件 itr 內部類 實現了iterator介面
public iterator
iterator()
*/private
class
itrimplements
iterator
ArrayList原始碼詳解
成員變數的宣告 成員變數的宣告 private static final object empty elementdata transient object elementdata 儲存元素的陣列 private static final int default capacity 10 構造方法初始...
ArrayList原始碼詳解
成員變數 private static final int default capacity 10 private static final object empty elementdata transient object elementdata private int size default ...
ArrayList原始碼詳解
arraylist是我們日常寫 常用的集合之一,本文就 結合原始碼來介紹arraylist常用方法 預設初始化容量 private static final int default capacity 10 空例項陣列 private static final object empty element...