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()方法。