В этой части кода я хочу повернуть только один из списка, но оба были повернуты.
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; } }
Кажется, вы скопировали ссылку list в newList где-то.Поэтому любые изменения в newList влияют на list.
list
newList
Используйте это для копирования:
List<Integer> newList = new ArrayList<Integer>(list);
вместо:
List<Integer> newList = list;