gpt4 book ai didi

java - HashSet 的初始容量

转载 作者:搜寻专家 更新时间:2023-10-31 19:55:54 25 4
gpt4 key购买 nike

对于我知道要插入 1000 个整数以防止需要任何内部重建的 HashSet,我应该使用什么初始容量?

起初我虽然我应该使用 1000,但阅读了采用 initialCapacity 参数的构造函数的描述,它说 构造一个新的空集;后备 HashMap 实例具有指定的初始容量和默认加载因子 (0.75)。

所以如果我将容量设置为 1000,hashMap 将在达到 750 个元素时调整大小?

此外,我假设 hashMap 的有效性需要一些“空间”,因此解决 IC*0.75=1000 以获得类似 1334 的问题也可能不是最佳解决方案,是吗?

更新:
1)我知道内部调整大小的含义并不重要,但它仍然是一个学习和更好地理解我正在使用的环境的机会。并且努力应该是最小的。

2) 关于数据结构选择的一些评论。请在这里查看我之前的问题:Data structure recommendation其中提供了有关我的场景的更准确信息。

最佳答案

你需要一个size/load-factor来避免调整大小。注意:对于 HashSet 和 HashMap,它将始终是 2 的下一个幂。

关于java - HashSet<Integer> 的初始容量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18308987/

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