Java hashtablload factor==1意味着什么?

Java hashtablload factor==1意味着什么?,java,load,hashtable,Java,Load,Hashtable,我需要一个不会改变大小的哈希表,因为一开始我知道大小应该是N,并且该表在程序中不应该改变,所以我是否应该将加载因子设置为1,以表示在大小增加到N+1之前不要增加它的大小,我知道这永远不会发生 更具体地说,我想要这样:当它达到N时,它不应该增加,但如果出现N+1,则增加大小。这是正确的设置方式吗?除非需要同步访问,否则您可能希望使用java.util.HashMap而不是Hashtable。两者都提供了一个构造函数,用于设置初始容量 加载因子是重新刷新表之前项目数的上限阈值乘数。除非需要同步访问,

我需要一个不会改变大小的哈希表,因为一开始我知道大小应该是N,并且该表在程序中不应该改变,所以我是否应该将加载因子设置为1,以表示在大小增加到N+1之前不要增加它的大小,我知道这永远不会发生


更具体地说,我想要这样:当它达到N时,它不应该增加,但如果出现N+1,则增加大小。这是正确的设置方式吗?

除非需要同步访问,否则您可能希望使用
java.util.HashMap
而不是
Hashtable
。两者都提供了一个构造函数,用于设置初始容量


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

除非需要同步访问,否则您可能希望使用
java.util.HashMap
而不是
Hashtable
。两者都提供了一个构造函数,用于设置初始容量


加载系数是重新刷新表之前项目数的上限阈值乘数。

最简单的答案是“是”。不过我想解释一下

重新灰化的阈值是这样计算的

threshold=(int)(初始容量*负载系数)

在put方法中,再灰化由以下条件触发

如果(计数>=阈值)


对于HashMap,这或多或少也是正确的。如果你决定使用它。

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

重新灰化的阈值是这样计算的

threshold=(int)(初始容量*负载系数)

在put方法中,再灰化由以下条件触发

如果(计数>=阈值)


对于HashMap,这或多或少也是正确的。如果你决定使用它。

我想你回答了你自己的问题。我不确定它是否真的意味着,需要确认。我想你回答了你自己的问题。我不确定它是否真的意味着,需要确认。谢谢,但它类似于java doc,但不回答我的问题,如果我不想更改表,我应该将负载系数设置为1吗?您可以将负载系数设置为1(默认值为0.75),或者提供比所需容量高30%的初始容量,这样它就不会重新刷新。负载系数为1不会阻止您添加超过初始容量的项目,它只是延迟了内部数据结构的扩展。是的,但OP似乎只是希望确定,在分配的容量没有超过的情况下,不会发生重新灰化。哦,好吧,只是澄清一下;我无法理解原始帖子。谢谢,但它与java doc类似,但没有回答我的问题,如果我不想更改表,我应该将负载因子设置为1吗?您可以将负载因子设置为1(默认值为0.75),或者提供比所需容量高30%的初始容量,这样它就不会重新刷新。装载系数为1不会阻止您添加超过初始容量的项目,它只是延迟了内部数据结构的扩展。是的,但OP似乎只是希望确定,在分配的容量没有超过的情况下,不会发生重新灰化。哦,好吧,只是澄清一下;我无法理解原来的帖子。