列表轮换有什么问题?

时间:2018-11-10 18:21:02

标签: java arrays list rotation

在那部分代码中,我只想旋转列表中的一个,但是两个都已旋转。

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 :(得分:0)

似乎您已将list的引用复制到newList的某个位置。因此,newList中的任何更改都会影响list

使用它进行复制:

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

代替:

List<Integer> newList = list;