【发布时间】:2019-03-25 07:53:15
【问题描述】:
我正在尝试使用多项式累积方法(应该每 55k 字或其他东西给你 5 次冲突)创建一个散列函数,但是当我用 1,000 个字运行它时,我得到了大约 190 次冲突。我做错了吗?
public int hashCode(String str) {
double hash_value = 0; // used for float
for (int i = 0; i < str.length(); i++){
hash_value = 33*hash_value + str.charAt(i);
}
return (int) (hash_value % array_size);
}
【问题讨论】:
-
除了使用 double 和 33 之外,这与内置的字符串散列方法基本相同。为什么你不能使用它?
标签: java hash hashtable hashcode