【发布时间】:2019-11-27 18:24:19
【问题描述】:
Java 允许我们指定我们希望创建的哈希表的大小和所需的负载因子。如果我们使用自定义 HashCode 方法自己生成密钥,那么负载因子必须依赖于 HashCode 的效率/优点。我怎么知道我最初指定的负载系数要求仍然得到满足?
低于我想要的负载系数是 0.67。
Hashtable<Long, String[]> ht = new Hashtable<>(100, 0.67f);
但是如果我说下面的话
public int hashCode(int n){
int a = n%72;
return a;}
那么即使我的hashcode函数很差,0.67的负载因子还会保留吗?
【问题讨论】:
-
不相关:使用
HashMap而不是Hashtable,如果需要线程安全,则使用ConcurrentHashMap。
标签: java hashtable hashcode load-factor