ToB企服应用市场:ToB评测及商务社交产业平台's Archiver
论坛
›
Java
› java~重写hashcode时为什么要乘以31
吴旭华
发表于 2024-12-25 11:21:55
java~重写hashcode时为什么要乘以31
在Java中,重写hashCode()方法时经常会使用31作为乘数,这是由于31具有一些独特的数学性质,使其成为一个优秀的选择。以下是几个原因:
1. 奇质数的特性
31是一个奇数和质数,这意味着它能有用地减少哈希冲突的概率。使用质数作为乘数可以帮助分散哈希值,从而提高哈希表的性能。
2. 位运算服从
在盘算机中,乘以31可以通过位运算来优化:
<ul>x * 31可以用 (x
页:
[1]
查看完整版本:
java~重写hashcode时为什么要乘以31