Java Hashtable 有一个构造函数,您可以在其中指定 loadFactor。但是,如果 initialCapacity (n) 已知,那么指定 loadFactor 有什么意义呢?
假设其桶数组 (s) 的大小是常量,构造函数 Hashtable(int initialCapacity, float loadFactor)
只需创建一个容量大于 initialCapacity 的哈希表即可确保正确的 loadFactor?
最佳答案
Assuming that the size of its array of buckets (s) is constant, […]
这个假设是不正确的。必要时调整桶数组的大小,以确保非空桶的比例最多为 loadFactor
。
(注意:the Javadoc 声明“初始容量和加载因子参数只是对实现的提示。关于何时以及是否调用 rehash 方法的确切细节取决于实现”,因此以上内容不应该不作为严格保证。但这是一般行为。)
关于Java 哈希表负载因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9762251/