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长度小于这个值时,会再次扩容,不会走树化过程。

 

 

posted @ 2019-11-07 22:55  coder-b  阅读(2827)  评论(0编辑  收藏  举报