HashSet扩容成红黑树机制
Posted Love and Share
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HashSet扩容成红黑树机制相关的知识,希望对你有一定的参考价值。
结论:
1)HashSet底层是HashMap,第一次添加时,table数组扩容到16,临界值(threshold)是 16*加载因子(loadFactor)是0.75=12
2)如果table数组使用到了临界值12,就会扩容到16*2=32,新的临界值是32*0.75=24,依次类推
3)在java8中,如果一条链表的元素个数到达TREEIFY_THRESHOLD(默认是8),并且table的大小 >= MIN_TREEIFY_CAPCITY(默认是64),就会进行树化(红黑树),否则仍然采用数组扩容机制
以上是关于HashSet扩容成红黑树机制的主要内容,如果未能解决你的问题,请参考以下文章
HashMap的工作原理以及代码实现,为什么要转换成红黑树?