лучший способ выдержать сравнение между целым числом с двумя размерами выстраивает в Java

Я хотел бы знать то, что является лучшим, самым быстрым и самым легким способом выдержать сравнение между массивами с 2 размерами целого числа. длина массивов является тем же. (один из массива является временным массивом),

9
задан Akhil Jain 13 December 2012 в 13:19
поделиться

2 ответа

Эдан написал:

просто нужно посмотреть, совпадает ли значение

Если вы хотите проверить, что a [i] [j] равно b [i] [ j] для всех элементов, просто используйте Arrays.deepEquals (a, b) .

13
ответ дан 4 December 2019 в 12:17
поделиться

Посмотрите на 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 нет настоящих двумерных массивов. В ней есть массивы массивов.

Здесь показана разница между equals и deepEquals для вложенных массивов (обратите внимание, что по умолчанию 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"

Похожие вопросы

4
ответ дан 4 December 2019 в 12:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: