Java 哈希表负载因子

标签 java data-structures

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/

相关文章:

JavaFX : Binding Timeline's duration to a property

java - OnClickListener 内部的实现函数 - Android

java - 在非泛型类中采用 List 的泛型方法

c++ - 声明将字符串映射到模板的 unordered_map 时出错

c++ - 链表中的头节点

c - 使用数组和双向链表存储书籍的数据结构

java - 另一个类中的 Get 和 Set 方法

Java ArrayList.clear() 函数

java - 最大堆未按预期工作

c++ - 需要有关跳过列表的信息