请判断这个数组中的元素是否相等
样例一
当数组 arr1 的值为 [1,2,3],数组 arr2 的值为 [2,1,3] 时,输出结果为:
The arrays arr1 and arr2 are equal.
样例二
当数组 arr1 的值为 [1,2,4],数组 arr2 的值为 [2,2,3] 时,输出结果为:
The arrays arr1 and arr2 are not equal.
运行结果,如下图

实现代码:

import java.util.Arrays;
import java.util.*;
public class cs {
public static boolean equalityOfArrays(int[] arr1, int arr2[]) {
System.out.println("arr2.length:"+arr2.length);
System.out.println("arr1:"+Arrays.toString(arr1));
System.out.println("arr2:"+Arrays.toString(arr2));
Arrays.sort(arr1);
Arrays.sort(arr2);
System.out.println("排序后arr1:"+Arrays.toString(arr1));
System.out.println("排序后arr2:"+Arrays.toString(arr2));
System.out.println("flag1:"+arr1.equals(arr2));
System.out.println("flag2:"+Objects.equals(arr1,arr2));
System.out.println("flag3:"+Arrays.equals(arr1,arr2));
return Arrays.equals(arr1,arr2);
}
public static void main(String[] args) {
int[] a= {1,2,3};
int[] b= {2,1,3};
boolean flag= equalityOfArrays(a,b);
if(flag){
System.out.print("The arrays arr1 and arr2 are equal.");
}else{
System.out.print("The arrays arr1 and arr2 are not equal.");
}
}
}
注意:
上面判断两个数组是否相等,使用的是Array.equals(arr1,arr2) !
而不是arr1.equals(arr2)或者Objects.equals(arr1,arr2),因为这两个都是返回false!

该博客探讨了如何在Java中判断两个数组是否相等。通过示例代码展示了对数组进行排序然后使用Arrays.equals()方法进行比较的过程。强调了在比较时应该使用Arrays.equals()而非arr1.equals(arr2)或Objects.equals(arr1,arr2)。
3372

被折叠的 条评论
为什么被折叠?



