集合原始碼分析(三)Collections工具類

2021-08-28 13:47:34 字數 578 閱讀 7724

collection是集合體系的最頂層,包含了集合體系的共性。

collections是乙個工具類,方法都是用於操作collection。

將指定列表中的兩個索引進行位置互換。

//原始碼解析:

public static void swap(list<?> list, int i, int j)

使用指定的物件填充指定列表的所有元素。

//原始碼解析:

public static void fill(list<? super t> list, t obj) else

private static int getindex(arraylistal, int value)

if(al.get(mid) > value)

if(al.get(mid) < value)

if(al.get(mid) == value)

mid = (max + min) /2;

} return -1;

}

原始碼分析集合Hashmap

public v put k key,v value final v putval int hash,k key,v value,boolean onlyifabsent,boolean evict 如果鍊錶中有相同的key直接跳出迴圈 if e.hash hash k e.key key key ...

Map集合 原始碼分析

map的實現類的結構 map 雙列資料,儲存key value對的資料 hashmap 作為map的主要實現類 執行緒不安全的,效率高 可以儲存null和key的value hashmap的底層 陣列 鍊錶 jdk7之前 陣列 鍊錶 紅黑樹 jdk8 linkedhashmap 保證在遍歷map元素...

集合原始碼分析(二)LinkedList集合

1 鍊錶在記憶體中有什麼特點?鍊錶在記憶體中不是乙個連續的空間。靠前乙個記錄後乙個的位址值,後乙個記錄前乙個的位址值。2 鍊錶為什麼查詢慢,增刪快?查詢 先要判斷你要查的這個元素,是靠頭近還是靠尾近。如果是靠頭近,那麼從第乙個開始遍歷 如果靠尾近,那麼從最後乙個開始遍歷。例如,多個人手拉手,每個人使...