3分钟让你明白:HashMap之红黑树树化过程(2)
发布时间:2019-10-12 13:35 所属栏目:21 来源:追逐仰望星空
导读:上面的方法通过hash计算插入的项的槽位,如果有是一样的key则根据设置的参数是否执行覆盖,如果相应槽位空的话直接插入,如果对应的槽位有项则判断是红黑树结构还是链表结构的槽位,链表的话则顺着链表寻找如果找到
上面的方法通过hash计算插入的项的槽位,如果有是一样的key则根据设置的参数是否执行覆盖,如果相应槽位空的话直接插入,如果对应的槽位有项则判断是红黑树结构还是链表结构的槽位,链表的话则顺着链表寻找如果找到一样的key则根据参数选择覆盖,没有找到则链接在链表最后面,链表项的数目大于8则对其进行树化,如果是红黑树结构则按照树的添加方式添加项。 让我们看一下treeifyBin这个方法。
找个方法所做的事情就是将刚才九个项以链表的方式连接在一起,然后通过它构建红黑树。 看代码之前我们先了解一下TreeNode
可以看出出真正的维护红黑树结构的方法并没有在HashMap中,全部都在TreeNode类内部。 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读