【发布时间】:2019-12-02 06:06:42
【问题描述】:
我从这里读到了 hash 和 HashMap:https://howtodoinjava.com/java/collections/hashmap/design-good-key-for-hashmap/
特别是:
//Depends only on account number
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + accountNumber;
return result;
}
为什么哈希码是用prime * result + accountNumber计算的,而不仅仅是accountNumber
定值prime *结果是什么意思? 为什么不只是素数(结果值为 1,所以素数时间 1 是素数)?
【问题讨论】: