繁体   English   中英

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

[英]best way to compare between two-dimension integer arrays in java

我想知道在2维整数数组之间进行比较的最佳,最快和最简单的方法是什么。 数组的长度是一样的。 (其中一个数组是临时数组)

伊丹写道:

只需要查看值是否相同

如果你想检查所有元素a[i][j]等于b[i][j] ,只需使用Arrays.deepEquals(a, b)

看看java.util.Arrays ; 它有许多你应该熟悉的数组实用程序。

import java.util.Arrays;

int[][] arr1;
int[][] arr2;
//...
if (Arrays.deepEquals(arr1, arr2)) //...

来自API

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

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

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

    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"

相关问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM