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。