gpt4 book ai didi

java - 为什么HashMap中的loadFactor默认设置为0.75?

转载 作者:行者123 更新时间:2023-12-01 17:18:41 27 4
gpt4 key购买 nike

我正在阅读HashMap.java的源代码,并对loadFactor的默认值感到困惑。正如此类的作者提到的

Ideally, under random hashCodes, the frequency of nodes in bins follows a Poisson distribution with a parameter of 0.5 on average for the default resizing threshold of 0.75f ...

我不明白的是调整大小阈值0.75f与泊松分布计算的频率之间的关系。

如果两者之间存在某种关系,具体是什么关系?

如果没有,0.75f 的默认阈值从何而来?

最佳答案

因为即使有非常好的哈希码实现,也会发生冲突(冲突意味着两个元素适契约(Contract)一个桶)。 map 中的元素数量越多,碰撞的机会就越多。本地图填满 75% 时,碰撞频率会增加。建议将负载因子设置为 0.75 左右,以将 put 和 get 复杂度保持在 O(1) 左右。

关于java - 为什么HashMap中的loadFactor默认设置为0.75?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61341274/

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