Java中的Arrays类提供了一个静态方法hashCode(),用于计算数组的哈希值。这个方法遵循Arrays类中定义的哈希码计算规则。对于不同类型的数组,如int[]、long[]、Object[]等,都有相应的重载方法。
以下是计算int[]数组哈希值的规则:
以下是一个示例代码:
public static int hashCode(int[] a) {
if (a == null)
return 0;
int result = 1;
for (int element : a)
result = 31 * result + element;
return result;
}
注意:对于其他类型的数组,如long[]、Object[]等,计算哈希值的方法类似,只是调用相应类型的hashCode()方法。例如,对于long[]数组,可以使用Long.hashCode(long)方法;对于Object[]数组,可以使用对象本身的hashCode()方法。