List常見實現類

2021-10-10 18:30:16 字數 825 閱讀 2614

原始碼分析: 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 模板類,沒有什麼...