Java.util.Arrays 类

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