java中判断两个数组是否相等

Python019

java中判断两个数组是否相等,第1张

java中判断两个数组是否相等,可以通过循环遍历两个数组的数据,进行比较,如果有一个不相等则返回false,判断为不相等,如下方法:

   public static boolean equals(Object[] a,Object[] b)

    {

        for (int i=0i!=(a.length<b.length?a.length:b.length)i++)

            if (!a[i].equals(b[i])) return false

        return true

    }

还是用Arrays.equals吧

==是比较地址

equals主要用来单个比较

下面是 Arrays.equals方法的源码

public static boolean equals(long[] a, long[] a2) {

if (a==a2)

return true

if (a==null || a2==null)

return false

int length = a.length

if (a2.length != length)

return false

for (int i=0i<lengthi++)

if (a[i] != a2[i])

return false

return true

}

两个方法,第一个比较常规,第二个特别适合字符数组的判断。

方法一:

char[] a = {'a', 'b'}

char[] b = {'a', 'f'}//对a, b 数组赋值操作

if (a.length != b.length) {

System.out.print("两个数组不相等")

return

} else {

for (int i = 0i <a.lengthi++) {

if (a[i] != b[i]) {

System.out.print("两个数组不相等")

return

}

}

System.out.println("两个数组不相等")

}

方法二:

char[] a = {'a', 'b'}

char[] b = {'a', 'f'}//对a, b 数组赋值操作

String sa = String.valueOf(a)

String sb = String.valueOf(b)

if( sa.equals(sb) )

System.out.println("两个数组相等")

else

System.out.println("两个数组不相等")