gpt4 book ai didi

java - 在 HashMap 实现中调整数组表的大小

转载 作者:行者123 更新时间:2023-12-01 23:51:00 27 4
gpt4 key购买 nike

这是一个简单的问题,适合那些了解 HashMap 内部实现的人:)

初始大小为 16 个桶,负载因子为 0.75。这意味着当它得到(注意那个词)12 时,它会调整到 32 个桶。

我的问题是,当它获得 12 个键值对时或当它获得 12 个“已填满”的存储桶时,它是否会从 16 个存储桶调整到 32 个存储桶?我问这个是因为这 16 个桶中的所有 12 个键值对都可能被插入到同一个桶中。在那种情况下,调整大小会很奇怪,因为其他 15 个完全是空的。

谢谢,如有任何意见,我们将不胜感激:)

最佳答案

this link 中所述.

It represents that 12th key-value pair of hashmap will keep its size to 16. As soon as 13th element (key-value pair) will come into the Hashmap, it will increase its size from default 2^4 = 16 buckets to 2^5 = 32 buckets.

独立于每个键插入的位置,当负载因子和当前容量的乘积超过时,表将调整大小。

在达到负载因子之前,HashMap 不关心使用了多少个桶,它知道发生碰撞的概率变得太大,应该调整映射的大小。尽管已经发生了很多碰撞。

关于java - 在 HashMap 实现中调整数组表的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63505682/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com