java中比较二维整数数组的最佳方法

java中比较二维整数数组的最佳方法,java,arrays,compare,Java,Arrays,Compare,我想知道比较整数的二维数组的最佳、最快和最简单的方法是什么。 数组的长度相同。(其中一个数组是临时数组)Edan写道: 只需要看看值是否相同 如果要检查所有元素的a[i][j]是否等于b[i][j],只需使用数组即可;它有许多您应该熟悉的阵列实用程序 import java.util.Arrays; int[][] arr1; int[][] arr2; //... if (Arrays.deepEquals(arr1, arr2)) //... 发件人: 如果指定的两个数组彼此非常相等,则

我想知道比较整数的二维数组的最佳、最快和最简单的方法是什么。 数组的长度相同。(其中一个数组是临时数组)

Edan写道:


只需要看看值是否相同

如果要检查所有元素的
a[i][j]
是否等于
b[i][j]
,只需使用
数组即可;它有许多您应该熟悉的阵列实用程序

import java.util.Arrays;

int[][] arr1;
int[][] arr2;
//...
if (Arrays.deepEquals(arr1, arr2)) //...
发件人:

如果指定的两个数组彼此非常相等,则返回
true
。与
equals(Object[],Object[])
方法不同,此方法适用于任意深度的嵌套数组

请注意,在Java中,
int[][]
Object[]
的子类型。Java并没有真正的二维数组。它有一个数组

这里显示了嵌套数组的
equals
deepEquals
之间的差异(请注意,默认情况下,Java使用零作为元素初始化
int
数组)

相关问题

听起来像是一个家庭作业问题?先用最简单的方法。从一个数组开始,对第一个数组的每个元素迭代另一个数组,在每个迭代步骤上应用条件检查。这种方法效率很低,你可能会根据数组的结构(即它们是否已排序)、搜索的内容等来加快速度。问问自己,为什么它不好,什么条件会使事情更容易找到你想要的。你需要在问题中添加更多的定义,以便我们能够提供帮助。您有2个1-D阵列还是2个2-D阵列/表格。您使用什么来存储阵列?整数[]还是列表的一个实现?你试过什么,为什么不喜欢?当你说“比较”时,你的意思是测试元素的平等性吗?如果是这样,
Arrays.equals
是您的朋友。如果“比较”是指其他内容,你能详细说明一下吗?目的只是检查两个数组是否相同,以便我可以终止应用程序。这是两个长度相同的二维数组。只需要看看值是否相同
    import java.util.Arrays;
    //...

    System.out.println((new int[1]).equals(new int[1]));
    // prints "false"

    System.out.println(Arrays.equals(
        new int[1],
        new int[1]
    )); // prints "true"
    // invoked equals(int[], int[]) overload

    System.out.println(Arrays.equals(
        new int[1][1],
        new int[1][1]
    )); // prints "false"
    // invoked equals(Object[], Object[]) overload

    System.out.println(Arrays.deepEquals(
        new int[1][1],
        new int[1][1]
    )); // prints "true"