请判断这个数组中的元素是否相等
样例一
当数组 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!