JavaShuo
栏目
标签
「每天一道面试题」为什么HashMap链表长度超过8会转成树结构?
时间 2020-12-27
栏目
快乐工作
繁體版
原文
原文链接
HashMap在JDK1.8及以后的版本中引入了红黑树结构,若桶中链表元素个数大于等于8时,链表转换成树结构;若桶中链表元素个数小于等于6时,树结构还原成链表。因为红黑树的平均查找长度是log(n),长度为8的时候,平均查找长度为3,如果继续使用链表,平均查找长度为8/2=4,这才有转换为树的必要。链表长度如果是小于等于6,6/2=3,虽然速度也很快的,但是转化为树结构和生成树的时间并不会太短。
>>阅读原文<<
相关文章
1.
为何HashMap中链表长度超过8会转换成红黑树
2.
「每天一道面试题」HashMap桶中链表转红黑树为什么选择数字8?
3.
HashMap中初始化大小为什么是16? 为什么链表的长度为8是变成红黑树?为什么为6时又变成链表?
4.
「每天一道面试题」HashMap默认加载因子为什么选择0.75?
5.
「每天一道面试题」下面的代码有问题吗?为什么?
6.
【20190411】【每天一道算法题】旋转链表(链表)
7.
「每天一道面试题」Semaphore的实现原理是什么?
8.
「每天一道面试题」Error和Exception有什么异同
9.
「每天一道面试题」CyclicBarrier和CountDownLatch有什么区别
10.
HashMap桶中链表转红黑树为什么选择数字8?
更多相关文章...
•
XML 树结构
-
XML 教程
•
为什么使用 XML Schemas?
-
XML Schema 教程
•
为了进字节跳动,我精选了29道Java经典算法题,带详细讲解
•
算法总结-广度优先算法
相关标签/搜索
天天一道面试题
转-面试题
为什么
8.hashmap
什么
Linux面试题8
面试试题
树结构2
树形结构
不知为什么
快乐工作
Spring教程
PHP教程
MyBatis教程
面试
架构
调度
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
【Java8新特性_尚硅谷】P1_P5
2.
SpringSecurity 基础应用
3.
SlowFast Networks for Video Recognition
4.
074-enable-right-click
5.
WindowFocusListener窗体焦点监听器
6.
DNS部署(二)DNS的解析(正向、反向、双向、邮件解析及域名转换)
7.
Java基础(十九)集合(1)集合中主要接口和实现类
8.
浏览器工作原理学习笔记
9.
chrome浏览器构架学习笔记
10.
eclipse引用sun.misc开头的类
本站公众号
欢迎关注本站公众号,获取更多信息
相关文章
1.
为何HashMap中链表长度超过8会转换成红黑树
2.
「每天一道面试题」HashMap桶中链表转红黑树为什么选择数字8?
3.
HashMap中初始化大小为什么是16? 为什么链表的长度为8是变成红黑树?为什么为6时又变成链表?
4.
「每天一道面试题」HashMap默认加载因子为什么选择0.75?
5.
「每天一道面试题」下面的代码有问题吗?为什么?
6.
【20190411】【每天一道算法题】旋转链表(链表)
7.
「每天一道面试题」Semaphore的实现原理是什么?
8.
「每天一道面试题」Error和Exception有什么异同
9.
「每天一道面试题」CyclicBarrier和CountDownLatch有什么区别
10.
HashMap桶中链表转红黑树为什么选择数字8?
>>更多相关文章<<