Java 中比较数组的方法丰富多样,可根据需要选择基于内容、引用、元素数量或自定义属性比较。基于内容比较可使用 Arrays.equals() 和 Arrays.deepEquals();基于引用比较使用 == 和 !=;基于元素数量使用 Arrays.equals() 的 length 参数;基于自定义属性可创建自定义比较器。
如何比较 Java 中的两个数组?
Java 中比较数组的方式有多种,具体方法取决于所需要比较的内容和条件。
基于内容比较
基于引用比较
基于元素数量或其他属性比较
具体比较示例
基于内容比较:
int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 3};
boolean isEqual = Arrays.equals(arr1, arr2); // true基于引用比较:
int[] arr1 = {1, 2, 3};
int[] arr2 = arr1;
boolean isEqual = arr1 == arr2; // true基于元素数量比较:
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = {1, 2, 3};
boolean isEqual = Arrays.equals(arr1, 0, 3, arr2, 0, 3); // true基于自定义比较器比较:
import java.util.Comparator; import java.util.Arrays; class MyComparator implements Comparator{ @Override public int compare(Integer o1, Integer o2) { return o1 - o2; // 升序比较 } } int[] arr1 = {1, 5, 2, 3}; int[] arr2 = {1, 2, 3, 5}; Arrays.sort(arr1, new MyComparator()); Arrays.sort(arr2, new MyComparator()); boolean isEqual = Arrays.equals(arr1, arr2); // true