扩容后在同中的位置
来源: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了,比较费劲。
212020-03-25
相似问题