java中判断2个数组是否相同(元素个数,元素种类相同,不考虑元素顺序)的方法探讨。
/*
案例3:比较2个数组是否一样(元素个数和元素种类一样就认为一样,不考虑元素顺序)
思路:
1)静态初始化2个数组;arr[],arr2[]
2)定义方法:for循环遍历数组arr[],寻找arr2[]中有无相同的元素,且索引前后只能出现一次。
*/
public class demo6 {
public static void main(String[] args) {
int [] arr={66,11,22,33,44,55};
int [] arr2={11,22,33,55,44,66};
//int c=0;
boolean flag=compareshuzu(arr,arr2);
System.out.println(flag);
}
//定义方法.2个明确:明确返回值类型:Boolean;明确参数:int [] arr, int [] arr2.
public static boolean compareshuzu(int [] arr,int[]arr2){
//首先比较2个数组的长度,即元素个数,若长度不一致肯定不相同。
if (arr.length!=arr2.length){
return false;
}
int c=0;//用于计数,后续在循环中再有说明;
//遍历arr数组的所有元素
for (int x=0;x<arr.length;x++){
//遍历arr2数组中的所有元素
for (int y=0;y<arr2.length;y++){
//此嵌套循环,看arr2中是否有和arr中有相同的元素,一个个比较的
if (arr[x]==arr2[y]){
c++;//意思是如果arr2中能找出一个元素与arr中的相等,计数就+1,即相同元素的个数+1
}
}
}
if (c==arr.length){//相同元素的个数与数组长度相等,即所有元素都相同
return true;
}else{
return false;
}
//return true;
}
}