Java 什么';我的名单轮换出了什么问题?
在代码的这一部分中,我只想旋转列表中的一个,但两个列表都已旋转Java 什么';我的名单轮换出了什么问题?,java,arrays,list,rotation,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)) {
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;
}
}
for(inti=0;i<100000000;i++){
集合。轮换(新列表、位置);
System.out.println(“新列表:+newList”);
System.out.println(“正常列表:+列表”);
if(DOSLISTASIGALUES(列表,新列表)){
moviminentos=i;
打破
}
}
看来你把列表的引用复制到了新列表的某个地方。因此,newList
中的任何更改都会影响list
使用此选项进行复制:
List<Integer> newList = new ArrayList<Integer>(list);
List newList=newarraylist(列表);
而不是:
List<Integer> newList = list;
List newList=List;
您是如何创建新列表的?如果您执行了类似于List newList=List
的操作,则它们是相同的List
。我们无法从您所呈现的内容中分辨出来,尽管这两个列表似乎必须以某种方式存在别名。如果你想要一个自信的答案,请展示一个演示问题的例子。关于list
variable,什么都不能说。@CarlosCastañodelcaillolist newList=list代码>是参考复制点。您应该使用List newList=newarraylist(List)代码>