HashMap转移数据的过程
确定需要扩容之后,先计算原来数组的长度,如果已经等于最大值了那就不可能再扩容了,直接返回。
如果不是,创新一个新的新长度的数组。然后执行转移方法。
转移方法:for循环遍历原数组,遍历每一个entry,首先保存entry中的下一个entry。(下一次需要循环的)。判断是否需要重新计算hash值,如果需要就重新计算。根据hash和新数组的长度算出新索引位置,将新数组上的数据保存到正在循环的entry中的entry成员变量上,再将正在循环的entry放到索引处,效果上来看就是在该索引处从头部插入了该数据,这就完成了一个数据的转移。最后将要循环的数据换成开始存储的下一条数据。一直执行到转移全部数据。最后将新数组赋值给HashMap的数组上,并且将临界值设置成新数组的长度乘以负载系数。扩容完毕。

相关文章:

  • 2022-12-23
  • 2021-07-26
  • 2021-09-23
  • 2021-08-24
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-03-08
  • 2021-10-11
  • 2021-04-26
  • 2021-05-01
  • 2021-11-06
  • 2022-12-23
  • 2022-01-14
相关资源
相似解决方案