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 鍊錶為什麼查詢慢,增刪快?查詢 先要判斷你要查的這個元素,是靠頭近還是靠尾近。如果是靠頭近,那麼從第乙個開始遍歷 如果靠尾近,那麼從最後乙個開始遍歷。例如,多個人手拉手,每個人使...