java中比较二维整数数组的最佳方法
我想知道比较整数的二维数组的最佳、最快和最简单的方法是什么。 数组的长度相同。(其中一个数组是临时数组)Edan写道: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)) //... 发件人: 如果指定的两个数组彼此非常相等,则
只需要看看值是否相同 如果要检查所有元素的
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"