【发布时间】:2016-06-01 10:49:20
【问题描述】:
如主题所述,如何检查 Hashtable 是否已满(如果可以做到的话)?
拥有:
HashMap<Integer, Person> p = new HashMap <>();
我想一个人需要使用例如
if (p.size()>p "capacity"==true)
我发现在某处创建了默认大小为 11 的哈希表,并且如果需要,它们的容量会自动增加……那么最后,哈希表可以满吗?
【问题讨论】:
-
哈希表未满。增加他们的“容量”是为了让他们更快地访问,但这并不是他们可以容纳多少的真正限制。
-
@khelwood 正确,除了最后一部分...检查 sleiman 答案;)
-
@JordiCastilla 没有;我是对的,包括最后一部分。
-
@khelwood 真的吗?你读过吗?首先,它必须是一个真正的限制,如果不受对象本身的限制(如 sleiman 回答中所解释的),至少计算机内存会定义这个限制.. .所以海事组织你评论的最后一部分是不准确的。
:) -
您混淆了
HashMap和Hashtable。后者的初始容量为11,但HashMap的初始容量为16。在任何一种情况下,容量都会增加,甚至在包含那么多元素之前,因为默认加载因子是0.75,所以它会在 13 日增加,resp。第 9 次插入。