Я хотел бы знать то, что является лучшим, самым быстрым и самым легким способом выдержать сравнение между массивами с 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 нет настоящих двумерных массивов. В ней есть массивы массивов.
Здесь показана разница между 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"