gpt4 book ai didi

java - 检查 Hashtable 是否完整 java

转载 作者:行者123 更新时间:2023-11-29 10:10:34 25 4
gpt4 key购买 nike

如主题中所述,我如何检查 Hashtable 是否已满(如果可以的话)?

拥有:

HashMap<Integer, Person> p = new HashMap <>();

我想人们需要使用例如

if (p.size()>p "capacity"==true) 

我发现在某处创建的哈希表的默认大小为 11,并且如果需要,它们的容量会自动增加...那么最终,哈希表是否可以填满?

最佳答案

Hashtables are created with a default size 11

这不是 HashTable 的大小,而是它拥有的哈希桶的数量。

显然,具有 11 个哈希桶的表可以容纳少于 11 个项目。也许不那么明显,一个有 11 个桶的表也可能包含 多于 的项目,这取决于 collision resolution在使用中。

can Hashtable ever be full?

这取决于实现。使用单独链接的哈希表,例如 Java 的 HashMap,无法填满,即使它们的所有桶都用完了,因为我们可以继续向每个桶的单独链中添加项目。但是,使用太少的哈希桶会导致性能显着下降。

另一方面,具有线性探测的哈希表,例如 Java 的 IdentityHashMap(严格来说,它不是一个有效的基于哈希的容器),当您用完桶时可能会变满.

关于java - 检查 Hashtable 是否完整 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37566530/

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