30
2020
01

讲一下 HashMap 中 put 方法过程?

1. 对 Key 求 Hash 值,然后再计算 下标。


    1. 如果没有碰撞,直接放入桶中,


    1. 如果碰撞了,以链表的方式链接到后面,


    1. 如果链表长度超过阀值(TREEIFY_THRESHOLD == 8),就把链表转成红黑树。


    1. 如果节点已经存在就替换旧值


    1. 如果桶满了(容量 * 加载因子),就需要 resize。

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。