3分钟让你大白:HashMap之红黑树树化进程
发布时间:2019-10-13 08:58:37 所属栏目:建站 来源:追逐仰望星空
导读:01 概述 HashMap是Java措施员行使频率最高的用于映射(键值对)处理赏罚的数据范例。跟着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现举办了优化,譬喻引入红黑树的数据布局和扩容的优化等。本文首要说明一下HashMap中红黑树树化的进程。 02
接着我们看向右旋转的代码
3.刚进来的时辰布局是这个样子。 ![]() 在这里的P就是适才传进来的XPP。 4.这里我们以为LR是存在的,其拭魅这个不影响首要的旋转,为空就指向null呗,直接执行完9和10行。
![]() 5.在这里我们倘使PP是存在的,直接执行完11的表达式不再执行12行。(不再说明不存在的环境)。
![]() 6.因为11行的前提不切合,此刻直接执行13行的表达式,不切合执行15行else,执行16行。
![]() 7.最后执行层17和18行。
![]() 最终完成两次的旋转。 08 疑问?各人也许认为和适才接不上着实是这样的,适才在右旋转前的时辰的图像是这个样的。 ![]() 由于我们传进来的是XPP,以是团结上一次的向左旋转我们在向右旋转的时辰看到全图应该是这个样子的。(注:XPPP也许是XPP的左父节点也也许是右父节点这里不影响,并且可所以恣意颜色) ![]() (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |