Что не так с ротацией моих списков? - PullRequest
0 голосов
/ 10 ноября 2018

В этой части кода я хочу повернуть только один из списка, но оба были повернуты.

for(int i = 0; i< 1000000000; i++) { 
    Collections.rotate(newList, positions);
    System.out.println("New list: "+newList);
    System.out.println("Normal list: "+list);
    if(dosListasIguales(list, newList)) {
        movimientos = i;
        break;
        }
    }

1 Ответ

0 голосов
/ 10 ноября 2018

Кажется, вы скопировали ссылку list в newList где-то.Поэтому любые изменения в newList влияют на list.

Используйте это для копирования:

List<Integer> newList = new ArrayList<Integer>(list);

вместо:

List<Integer> newList = list;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...