如何在 Java 中检查两个数组是否相等
检查两个数组是否相等,就是比较它们的内容以确定它们是否具有相同顺序的相同元素。Java 支持使用内置方法,例如用于一维数组的 Arrays.equals() 和用于多维数组的 Arrays.deepEquals(),这使得该操作相对容易执行。以下是检查两个数组是否相等的方法 -
使用 Arrays.equals() 方法
使用 == 运算符
使用 Arrays.deepEquals() 方法(用于多维数组)
使用 Arrays.equals() 方法
Arrays.equals() 方法 比较两个数组的实际内容。如果两个数组相等,则返回 true,这意味着它们具有相同的元素和相同的顺序。
语法
以下是 java.util.Arrays.equals() 方法的语法 −
public static boolean equals(Object[] a, Object[] a2)
示例
以下示例显示如何使用数组的 equals () 方法检查两个数组是否相等。−
import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception { int[] ary = {1,2,3,4,5,6}; int[] ary1 = {1,2,3,4,5,6}; int[] ary2 = {1,2,3,4}; System.out.println("Is array 1 equal to array 2?? " +Arrays.equals(ary, ary1)); System.out.println("Is array 1 equal to array 3?? " +Arrays.equals(ary, ary2)); } }
输出
Is array 1 equal to array 2?? true Is array 1 equal to array 3?? false
使用 == 运算符
== 运算符检查两个数组引用是否指向内存中的同一个对象,而不是它们的内容是否相同。此方法不适用于比较数组的实际内容。
示例
以下是比较数组的示例 -
import java.util.Arrays; public class HelloWorld { public static void main (String[] args) { int arr1[] = {1, 2, 3}; int arr2[] = {1, 2, 3}; if (Arrays.equals(arr1, arr2)) System.out.println("Same"); else System.out.println("Not same"); } }
输出
Same
使用 Arrays.deepEquals() 方法(用于多维数组)
对于比较多维数组,通常使用 Arrays.deepEquals(),因为它以递归方式比较数组,深入比较其内容。
语法
以下是 java.util.Arrays.deepEquals() 方法的语法 −
public static boolean deepEquals(Object[] a1, Object[] a2)
示例
以下是比较数组的另一个示例 −
public class HelloWorld { public static void main (String[] args) { int arr1[] = {1, 2, 3}; int arr2[] = {1, 2, 3}; if (arr1 == arr2) System.out.println("Same"); else System.out.println("Not same"); } }
输出
Not same
java_arrays.html