HashMap源码验证,在JDK8中新增红黑树详解

红黑树查询演示,红黑树它解决了链表查询过慢的问题

我们插入的链表过长之后,因为我们的链表都是从头部开始进行查询,所以它会比较慢。

我们现在引入到我们的红黑树之后呢,它就不会有这个问题,那它是怎么去解决呢?

我们来看一看,刚才我们还是去插入这7个元素

我们一个红黑树的,它的一个结构呢,就七个节点的元素是这样的,

来我们看一下,我们用红黑树去查这个007要查多少次呢?
https://img1.tuicool.com/BzeIB3m.gif
一次,两次,三次,四次,

也就是说我们用红黑树啊,只要查四次,而刚才我这个用链表是要查七次,

那我是不是减少了三次的这个查询次数,那同时我们就非常的明显,

如果我们这边是70万,这边只要查40万,那我就减少了30万的查询,

那这样的话是不是性能将近提高了一倍,能理解吧,

所以我们这个红黑树,它就是去解决我们链表查询过慢的一个问题。

在JDK8里面,HashMap并不是一上来就直接用这个红黑树

但是呢,我们这个HashMap,在JDK8里面,它并不是一上来就直接用这个红黑树,

一上来它默认还是先用链表, 只有当我们的这个链表达到一个阈值的情况下,<

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值