JDK1.8 HashMap兩種擴容的情況和轉紅黑樹


JDK1.8 HashMap兩種擴容的情況。
1,當map實際數量等於threshold容量的閾值時,會進行兩倍擴容。
2,當map中數組中某個桶的鏈表長度大於樹形化閾值TREEIFY_THRESHOLD=8時,
並且map元素的數量小於樹形化最小容量MIN_TREEIFY_CAPACITY=64時候,容量進行兩倍擴容。

否則樹形化閾值8並且map元素個數大於64時,進行鏈表轉紅黑樹。

put方法

treeifyBean樹形化方法:

注: 下圖第3行。MIN_TREEIFY_CAPACITY=64,在樹化過程時,當map長度小於這個值時,會再次擴容,不會走樹化過程。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM