集合類Map底層數據結構總結

3.4.1 hash map數組

總體框架是數組結構,每個位置儲存同hashcode的鏈表
與j7對比,j8變動的是,儲存的鏈表改爲紅黑樹,從On時間複雜度下降至Ologn
3.4.2 concurrentHashMap
不可擴容數組儲存16個segment,每一個sement爲線程安全的數組,每個數組相似hash map,數組的位置儲存鏈表。
所以segment也被稱爲分段鎖。合起來致使全局線程安全
所以,併發數最可能是16個(併發的操做位置在不一樣的segment上)
3.4.3HashTable
遺留下的類,繼承dictionary類,線程安全的,但沒有CHM快,由於CHM有分段鎖。線程不安全可用HM替代
3.4.3 TreeMap
加入了排序功能,迭代器,遍歷的結果是排序後的
3.4.4 LinkedHashMap
加入了保有插入順序的功能;迭代器,遍歷的結果是排序後的










安全

相關文章
相關標籤/搜索