Я думаю, что когда вы определяете String
, вы определяете объект. Поэтому вам нужно использовать .equals()
. Когда вы используете примитивные типы данных, вы используете ==
, но с String
(и любым объектом) вы должны использовать .equals()
.
Вы перетасовываете ссылку на одно и то же ArrayList
каждый раз. Вместо этого рассмотрите возможность копирования ArrayList
на каждой итерации
ArrayList<PVector> newList = new ArrayList<>(knots); // creates a copy
Collections.shuffle(newList);
gen0.add(newList);