扩容后在同中的位置

来源:10-4 HashMap

海绵爱上星

2020-03-24

扩容时,原来某个桶中的Node对象的位置可能会变,那它(Node是链表的头结点)后面的那些节点还是在它后面吗,会排在它的前面吗(它们应该还在一个桶中)?

写回答

1回答

泥巴111

2020-03-24

你为什么会觉得他们还在一个bucket呢?都resize了那必然会rehash;

当然如果是两倍扩容,那么主要判断当前Node(链表或树中节点)的hash值新的校验位是0还是1,如果是0的话保留,是1的话放入(原位置+原size)的bucket,rehash的速度会很快。

如果不是两倍扩容,那就要进行完全rehash了,比较费劲。

2
1
翔仔
感谢同学的给力支持,确实是这样的,经过审核,这个链接比较靠谱,同学可以看看 https://blog.csdn.net/wohaqiyi/article/details/81448176
2020-03-25
共1条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8442 学习 · 1872 问题

查看课程