为了账号安全,请及时绑定邮箱和手机立即绑定

比较Java中的两个整数数组

比较Java中的两个整数数组

LEATH 2019-11-19 10:41:15
我正在尝试编写代码以比较两个数组。在第一个数组中,我输入了自己的数字,但是在第二个数组中,输入了输入文件中的数字。该数组的大小由文件中的第一个数字确定,而第一个数组的大小始终为10。两个数组和数字的长度必须相同。我的代码如下:public static void compareArrays(int[] array1, int[] array2) {    boolean b = false;    for (int i = 0; i < array2.length; i++) {        for (int a = 0; a < array1.length; a++) {            if (array2[i] == array1[a]) {                b = true;                System.out.println("true");            } else {                b = false;                System.out.println("False");                break;            }        }    }       }
查看完整描述

3 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

public static void compareArrays(int[] array1, int[] array2) {

        boolean b = true;

        if (array1 != null && array2 != null){

          if (array1.length != array2.length)

              b = false;

          else

              for (int i = 0; i < array2.length; i++) {

                  if (array2[i] != array1[i]) {

                      b = false;    

                  }                 

            }

        }else{

          b = false;

        }

        System.out.println(b);

    }


查看完整回答
反对 回复 2019-11-19
?
慕少森

TA贡献2019条经验 获得超9个赞

使用

Arrays.equals(ary1,ary2); //返回布尔值


编辑

您可以使用Arrays.deepEquals(ary1,ary2)比较二维数组以及


还要检查此链接以了解Arrays.equls(ar1,ar2)和之间的比较Arrays.deepEquals(ar1,ar2)


Java Arrays.equals()对于二维数组返回false


编辑2,

如果您不想使用这些库方法,则可以像下面这样轻松实现您的方法:


public static boolean ArrayCompare(int[] a, int[] a2) {

    if (a==a2)   // checks for same array reference

        return true;

    if (a==null || a2==null)  // checks for null arrays

        return false;


    int length = a.length;

    if (a2.length != length)  // arrays should be of equal length

        return false;


    for (int i=0; i<length; i++)  // compare array values

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

            return false;


    return true;

}


查看完整回答
反对 回复 2019-11-19
  • 3 回答
  • 0 关注
  • 688 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信