当前位置:主页 > 查看内容

【JavaP6大纲】Java基础篇:为什么jdk8以后HashMap会使用红黑树

发布时间:2021-05-24 00:00| 位朋友查看

简介:为什么jdk8以后HashMap会使用红黑树优化 在Jdk1.8版本后Java对HashMap做了改进在链表长度超过8且数组长度大于64时将后面的数据存在红黑树中以加快检索速度。 为什么是使用红黑树而不是AVL树AVL树是完全平衡二叉树阿 在CurrentHashMap中是加锁了的实际上是读……

为什么jdk8以后HashMap会使用红黑树优化

在Jdk1.8版本后,Java对HashMap做了改进,在链表长度超过8且数组长度大于64时,将后面的数据存在红黑树中,以加快检索速度。

为什么是使用红黑树而不是AVL树,AVL树是完全平衡二叉树阿?

在CurrentHashMap中是加锁了的,实际上是读写锁,如果写冲突就会等待,如果插入时间过长必然等待时间更长,而红黑树相对AVL树他的插入更快!在AVL树中,从根到任何叶子的最短路径和最长路径之间的差异最多为1。在红黑树中,差异可以是2倍。

在AVL树中查找通常更快,但这是以更多旋转操作导致更慢的插入和删除为代价的,红黑树在添加,删除,查找相对较好。

;原文链接:https://blog.csdn.net/java_wxid/article/details/115507908
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐