📜  Java数组 compare() 方法及示例

📅  最后修改于: 2022-05-13 01:54:19.347000             🧑  作者: Mango

Java数组 compare() 方法及示例

Java中的数组 compare() 方法属于 Arrays 类和Java.util包。此方法按字典顺序(字典顺序)比较两个数组。 Boolean、byte、char、double、float、int、long、short 和 Object 数组有两种不同的重载版本。此方法根据以下情况返回值。

  • 如果数组等于另一个数组,则返回 0。
  • 如果数组按字典顺序小于另一个数组,则返回小于 0 的值
  • 如果数组按字典顺序大于另一个数组(更多字符),则返回大于 0 的值。

空数组按字典顺序小于非空数组,如果两个数组都为空,则认为这两个数组相等,因此在这种情况下将打印 0。

句法:

Arrays.compare(array1,array2);
// array1 and array2 are two arrays

参数和返回类型: compare() 方法接受一个数组作为具有不同数据类型的参数,例如: 字符串、integer、float、double、long 等。该方法的返回类型是整数。如果数组按字典顺序较大,则返回正值,较小则返回负值,相等则返回 0。

异常:通常会抛出 NullPointerException 和 ClassCastException,这两种异常也有不同的含义。

  • NullPointerException :NullPointerException 是引用 null 的运行时异常,当访问不指向任何对象的变量时发生。
  • ClassCastException:当我们试图将一个类对象转换为另一个类类型对象时会发生此异常。

如果我们想调用这个方法,首先从 JavaJava 中导入“Arrays”类。 util 包只需添加“import Java.util.Arrays”命令。然后通过“Arrays”调用方法跟随“.compare(parameter1,parameter2);”这样您就可以轻松调用 compare() 方法。

示例1:举个例子,首先导入Java.util.Arrays,创建一个名为CompareExample的公共类,然后用元素初始化两个整数数组,使用compare()方法进行比较,最后打印compare方法的结果。

Java
import java.util.Arrays;
 
public class CompareExample{
    public static void main(String[] args)
    {
        //Initialized two integer array
        int[] array1 ={6, 7, 8, 11, 18, 8, 2, 5};       
        int[] array2 ={3, 5, 9, 13, 28, 6, 8, 9};
        //compare both integer array using compare method and finally print result      
        System.out.println("Result is "+ Arrays.compare(array1,array2));
 
    }
}


Java
// import Arrays class from java.util package
import java.util.Arrays;
 
public class CompareExample{
   
    public static void main(String[] args)
    {
        // Initialize two float array with element
        float[] floatArray1={5.12f, 8.3f, 9.17f, 2.5f, 8.8f, 5.17f, 4.2f, 7.37f};
        float[] floatArray2={7.12f, 9.3f, 6.17f, 7.5f, 5.8f, 7.17f, 3.2f, 6.37f};
       
        // compare two float array using compare method and finally print result
        System.out.println("Result is " + Arrays.compare(floatArray1, floatArray2));
 
    }
}


Java
import java.util.Arrays;
 
public class CompareExample {
 
    public static void main(String[] args)
    {
        // Initialize two integer array with same elements
        int[] array1 = { 1, 2, 3, 4 };
        int[] array2 = { 1, 2, 3, 4 };
       
        // compare array1 and array2 using compare() method
        // and print the result
        System.out.println(
            "Result is " + Arrays.compare(array1, array2));
    }
}


输出
Result is 1

因此所需的输出是 1,因为 array1 在字典上大于 array2。

例2:我们再举一个例子,在这个例子中,我们将取一个不同数据类型的数组,也就是float,和我们在上面的例子中做的一样,首先导入类,创建一个新类命名为“CompareExample”,然后用元素初始化两个浮点型数组,然后使用数组类的比较方法比较它们,最后打印我们得到的结果。

Java

// import Arrays class from java.util package
import java.util.Arrays;
 
public class CompareExample{
   
    public static void main(String[] args)
    {
        // Initialize two float array with element
        float[] floatArray1={5.12f, 8.3f, 9.17f, 2.5f, 8.8f, 5.17f, 4.2f, 7.37f};
        float[] floatArray2={7.12f, 9.3f, 6.17f, 7.5f, 5.8f, 7.17f, 3.2f, 6.37f};
       
        // compare two float array using compare method and finally print result
        System.out.println("Result is " + Arrays.compare(floatArray1, floatArray2));
 
    }
}
输出
Result is -1

结果在输出中为 -1,因为 floatArray1 在字典上小于 floatArray2。

例3:举个例子。在此,我们将初始化一个具有相同数字和大小的数组。然后比较array1和array2,最后打印我们从比较方法得到的结果。

Java

import java.util.Arrays;
 
public class CompareExample {
 
    public static void main(String[] args)
    {
        // Initialize two integer array with same elements
        int[] array1 = { 1, 2, 3, 4 };
        int[] array2 = { 1, 2, 3, 4 };
       
        // compare array1 and array2 using compare() method
        // and print the result
        System.out.println(
            "Result is " + Arrays.compare(array1, array2));
    }
}
输出
Result is 0

所需的输出是 0,因为我们得到了两个具有相同数字和大小的整数数组。

在本文中,我们学习了如何使用 compare() 方法。如果 array1 按字典顺序大于 array2,它将返回一个正 (-ve) 值。如果 array1 按字典顺序小于 array2,它将返回一个负 (-ve) 值。如果两个数组在字典上都相等或为空,那么它将返回 0。