java集合HashMap中链表树化的条件

在HashMap具体实现类中,有两个变量:

第一个变量是链表树化的阈值,在每次插入操作时,会检查链表中元素的个数是否达到阈值,达到阈值以后才会进行树化操作。

而进行树化操作的第一个判断就是哈希数组的容量是否大于MIN_TREEIFY_CAPACITY,如果小于,进行扩容操作,而不是树化操作。代码片段如下:

 

综上:

哈希表的链表树化成红黑树有 两个条件:

1. 链表长度大于TREEIFY_THRESHOLD

2. 哈希数组的长度大于MIN_TREEIFY_CAPACITY

 

版权声明:本文为ddou_pan原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。