美文网首页
HashMap底层数组的扩容

HashMap底层数组的扩容

作者: JAVA加油 | 来源:发表于2023-12-31 07:30 被阅读0次

    在 HashMap 中,当存储的键值对数量超过了负载因子乘以哈希表容量的阈值,即达到了扩容的条件,就会触发数组的扩容操作。具体的数组扩容过程如下:

    创建一个新的大小为原始容量的两倍的数组,称为新表(new table)。

    遍历原始表(old table)中的每个桶。

    将原始表中每个非空桶中的键值对重新计算哈希值,并根据新表的长度找到新的位置,将键值对插入到新表的对应桶中。

    如果原始表中的桶包含链表或树,则在新表中也使用相同的数据结构进行存储。

    扩容完成后,新表取代原始表成为 HashMap 的内部存储结构。

    通过扩容操作,HashMap 可以保持较低的填充因子,减少哈希冲突的概率,提高插入和查找的性能。

    相关文章

      网友评论

          本文标题:HashMap底层数组的扩容

          本文链接:https://www.haomeiwen.com/subject/kraxndtx.html