写了个java判断数组相等的方法,请大家指教
?
public class Tools {
public static boolean arrayEquals(String[] a,String[] b){
boolean flag = false;
if(a.length != b.length){
return false;
}else{
for (int i = 0; i < a.length; i++) {
System.out.println(a[i] + "\t" + b[i]);
if(!a[i].equals(b[i])){
flag = false;
break;
}else{
flag = true;
}
}
}
return flag;
}
public static void main(String[] args) {
String[] a={"1","2","3","3"};
String[] b={"1","2","3","3"};
String[] c={"1","3","3","2"};
System.out.println(arrayEquals(a,b));
System.out.println(arrayEquals(a,c));
}
}
1 楼 beck1986 2011-08-16 很多时候,我们需要判断的两个数组内数据相同的,但是顺序不同。 2 楼 beck1986 2011-08-16 另,就按照你的这种需求,此段代码可以重构一下,不用flag参数,循环内也不用else,直接在if中return Boolean.FALSE,方法最后return Boolean.TRUE 3 楼 Mr.Cheney 2011-08-16 beck1986 写道另,就按照你的这种需求,此段代码可以重构一下,不用flag参数,循环内也不用else,直接在if中return Boolean.FALSE,方法最后return Boolean.TRUE
赞 4 楼 Laosong 2011-08-16 完全可以用List里的containaAll()判断嘛~