HashSet <Integer>的初始容量

epe*_*leg 5 java hashmap hashset data-structures

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

起初我虽然我应该使用1000但是阅读带有initialCapacity参数的构造函数的描述Constructs a new, empty set; the backing HashMap instance has the specified initial capacity and default load factor (0.75)..

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

另外我假设hashMap的有效性需要一些"空间",因此解决IC*0.75 = 1000来获得像1334这样的东西可能也不是最好的解决方案,或者是它?

更新:
1)我知道内部重新规模的含义并不重要,但仍然是学习和更好地理解我正在使用的环境的机会.努力应该是最小的.

2)关于数据结构选择的几点评论.请在此处查看我之前的Q:数据结构建议,其中提供了有关我的方案的更准确信息.

Pet*_*rey 3

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