【发布时间】:2010-11-07 15:41:51
【问题描述】:
我经常使用 IntelliJ IDEA 自动生成一个类的 hashCode() 方法,该方法通常采用以下形式:
result = 31 * result + ...
我的问题是乘以 31 的目的是什么?我知道这是一个质数,但为什么要专门选择 31?此外,如果为特别小/大的数据集实现hashCode(),人们会以不同的方式解决这个问题吗?
【问题讨论】:
标签: java algorithm data-structures hashmap hashcode