java.util.Arrays.deepHashCode() 方法返回基于指定的"深层内容"的哈希代码大批。对于任意两个数组 a 和 b,使得 Arrays.deepEquals(a, b),也存在 Arrays.deepHashCode(a) == Arrays.deepHashCode(b) 的情况。
语法
public static int deepHashCode(Object[] a)
参数
a | 指定深度的数组- 要计算的基于内容的哈希代码。 |
返回值
返回数组的基于深度内容的哈希代码。
异常
无。示例:
在下面的示例中,java.util .Arrays.deepHashCode()方法用于检查两个数组是否相等。
import java.util.*;
public class MyClass {
public static void main(String[] args) {
//创建三个数组对象
Object Arr1[] = {10, 5, 25};
Object Arr2[] = {10, 5, 25};
Object Arr3[] = {10, 20, 30};
//打印数组的深层哈希码
System.out.println("deepHashCode of Arr1: "+ Arrays.deepHashCode(Arr1));
System.out.println("deepHashCode of Arr2: "+ Arrays.deepHashCode(Arr2));
System.out.println("deepHashCode of Arr3: "+ Arrays.deepHashCode(Arr3));
//检查Arr1和Arr2是否相等
boolean check = (Arrays.deepHashCode(Arr1) == Arrays.deepHashCode(Arr2));
System.out.println("\nAre Arr1 and Arr2 equal?: "+ check);
//检查Arr1和Arr3是否相等
check = (Arrays.deepHashCode(Arr1) == Arrays.deepHashCode(Arr3));
System.out.println("Are Arr1 and Arr3 equal?: "+ check);
}
}
上述代码的输出将是:
deepHashCode of Arr1: 39581
deepHashCode of Arr2: 39581
deepHashCode of Arr3: 40051
Are Arr1 and Arr2 equal?: true
Are Arr1 and Arr3 equal?: false