集合原始碼分析 1 Collection 原始碼分析

2022-06-26 09:06:09 字數 765 閱讀 7839

目錄5. 總結

該類是所有集合的子類

使用lambda方式移除元素

default boolean removeif(predicate super e> filter) 

}//返回是否成功移除

return removed;

}

返回併發分割器,用於併發流式處理的時候呼叫

@override

default spliteratorspliterator()

返回流物件

default streamstream()
返回併發流式物件

default streamparallelstream()
在collection中定義了一些常用的介面,供子類去實現

在jdk1.8中新增了一些方法,例如獲取獲取流式函式的方法

在這個介面中引入了default方法

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