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