Java hashtablload factor == 1是什么意思?

时间:2013-10-03 02:59:02

标签: java load hashtable

我需要一个不会改变它的大小的散列表,因为一开始我知道大小应该是N,并且表格在程序中不应该改变,所以我应该设置负载系数为1意味着不要增加它的大小,直到大小增加到N + 1,我知道永远不会发生?

更具体地说,我想要这样:当它达到N时,它不应该增加,但如果发生N + 1,则增加尺寸。这是设置它的正确方法吗?

2 个答案:

答案 0 :(得分:2)

您可能希望使用java.util.HashMap而不是Hashtable,除非您需要同步访问权限。要么为您提供构造函数来设置初始容量。

加载因子是表重新哈希之前项目数的上限阈值乘数。

答案 1 :(得分:1)

最简单的答案是肯定的。不过要解释一下......

重新计算的阈值就像这样计算

threshold = (int)(initialCapacity * loadFactor);

在put方法中,rehash由以下条件触发。

if (count >= threshold)

这对HashMap或多或少也是如此。你应该决定使用它吗?