Java HashTable LoadFactor

rda*_*sxy 5 java data-structures

Java Hashtable有一个构造函数,您可以在其中指定loadFactor.但是,如果initialCapacity(n)已知,那么指定loadFactor有什么意义呢?

假设其桶数组的大小是常量,构造函数是否 Hashtable(int initialCapacity, float loadFactor) 只是创建一个哈希表,其容量大于initialCapacity以确保正确的loadFactor?

rua*_*akh 6

假设其桶数组的大小是不变的,[...]

这种假设是不正确的.必要时调整桶阵列的大小以确保非空桶的比例最多loadFactor.

(注意:Javadoc声明"初始容量和加载因子参数仅仅是实现的提示.关于何时以及是否调用rehash方法的确切细节是依赖于实现的",因此不应将上述内容视为严格保证.但这是一般行为.)