CSDN博主:【java_wxid】
CSDN博主:点击【Java廖志伟】
CSDN社区:点击【幕后大佬】
码云:点击【互联网Java工程师知识扫盲】

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

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

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

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

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

posted on 2021-04-08 10:21  我是廖志伟  阅读(44)  评论(0)    收藏  举报  来源

南北踏尘