需求:定义一个方法equals(int[] arr1,int[] arr2). 功能:比较两个数组是否相等(长度和内容均相等则认为两个数组是相同的)
package method;
public class Train {
public static void main(String[] args) {
//定义两个数组
int[] arr1 = {-1,1,1,1};
int[] arr2 = {1,1,1,1};
//调用方法
System.out.println(equals(arr1,arr2));
}
//定义方法比较比较两个数组是否相等
public static boolean equals(int[] arr1,int[] arr2){
if (arr1.length == arr2.length){//长度不等直接返回false
for (int i = 0; i < arr1.length; i++) {
//先将arr1的元素分别与arr2中每个元素比较
for (int j = 0; j < arr2.length; j++) {
if (j==arr2.length-1 && arr1[i] != arr2[j]){
return false;//arr1中某个元素与arr2中所有元素都不等,则返回false
} else if (arr1[i] == arr2[j]) {
break;//arr1中某个元素在arr2中找到相等的元素,则结束循环,开始将arr1的下个元素与arr2比较
}
}
//将arr2的元素分别与arr1中每个元素比较
for (int j = 0; j < arr1.length; j++) {
if (j == arr1.length - 1 && arr2[i] != arr1[j]) {
return false;
} else if (arr2[i] == arr1[j]) {
break;
}
}
}
return true;
}
return false;
}
}
代码中两个for循环将arr1的元素分别与arr2中每个元素比较、将arr2的元素分别与arr1中每个元素比较,比较两次是为了防止一个数组为{1,1,1},而另一个数组为{1,2,3}类似的情况。