我经常hashCode()使用IntelliJ IDEA 自动生成类的方法,通常该方法采用以下形式:
hashCode()
result = 31 * result + ...
我的问题是乘以31的目的是什么?我知道这是一个素数,但为什么选择31?此外,如果hashCode()为特别小/大的数据集实现a ,人们会以不同的方式处理这个问题吗?
java algorithm hashmap hashcode data-structures
algorithm ×1
data-structures ×1
hashcode ×1
hashmap ×1
java ×1