Java.util.Arrays 类

java.util.Arrays.hashCode() 方法根据指定数组的内容返回哈希码。对于任何两个双精度数组 a 和 b,满足 Arrays.equals(a, b),也有 Arrays.hashCode(a) == Arrays.hashCode(b)<的情况/i>.

语法

public static int hashCode(double[] a)
  • 1

参数

a 指定哈希值的数组要计算的值。

返回值

返回数组的基于内容的哈希代码。

异常

不适用。

示例:

在下面的示例中,java.util.Arrays.hashCode() 方法用于检查两个双精度数组是否相等。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建三个双精度数组
    double Arr1[] = {10.1, 5.2, 25.3};
    double Arr2[] = {10.1, 5.2, 25.3};
    double Arr3[] = {10.1, 20.2, 30.3};

    //打印数组的哈希码
    System.out.println("hashCode of Arr1: "+ Arrays.hashCode(Arr1)); 
    System.out.println("hashCode of Arr2: "+ Arrays.hashCode(Arr2)); 
    System.out.println("hashCode of Arr3: "+ Arrays.hashCode(Arr3)); 


    //检查Arr1和Arr2是否相等
    boolean check = (Arrays.hashCode(Arr1) == Arrays.hashCode(Arr2));
    System.out.println("\nAre Arr1 and Arr2 equal?: "+ check);  

    //检查Arr1和Arr3是否相等
    check = (Arrays.hashCode(Arr1) == Arrays.hashCode(Arr3));
    System.out.println("Are Arr1 and Arr3 equal?: "+ check);  
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

上述代码的输出将是:

hashCode of Arr1: -1535839105
hashCode of Arr2: -1535839105
hashCode of Arr3: -2078084000

Are Arr1 and Arr2 equal?: true
Are Arr1 and Arr3 equal?: false
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6