Я пытаюсь составить список из некоторого массива, сгенерированного случайным образом, в пределах диапазона и с фиксированным размером. Проблема в том, что когда я хочу увидеть, есть ли массив в списке (list.contains (массив)), он не возвращает хорошую логическую переменную. Вот как выглядит этот код, и я не знаю, в чем проблема:
List<int[]> list = new ArrayList<int[]>();
int[] v = new int[n];
int n = 2, val_max = 3;
while (list.size() != max) {
v = getRandomArray(n, 1, val_max);
if (list.contains(v) == false)
list.add(v);
}
Я ожидаю, что выходное значение для этого будет { {1, 2} {2, 1} {1, 3} {3, 1} {2, 3} {3, 2} }
, но выходное значение постоянно меняется ... Оно всегда удваивает одно или два из вышеуказанных значений, что заставило меня думать, что проблема должна быть в функции содержимого.