Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java sort(list)还可以对旧列表(如mList、myList)进行排序或反转_Java_Android - Fatal编程技术网

Java sort(list)还可以对旧列表(如mList、myList)进行排序或反转

Java sort(list)还可以对旧列表(如mList、myList)进行排序或反转,java,android,Java,Android,我有两个列表,一个用于存储原始数据,另一个用于排序数据。在这种情况下, //Used to store the sorted and reversed data sortedList = new ArrayList<>(); //Assigning mList raw data in a new list sortedList = mList; //Here, I'm sorting and reversing Collections.sort(sortedList); Coll

我有两个列表,一个用于存储原始数据,另一个用于排序数据。在这种情况下,

//Used to store the sorted and reversed data
sortedList = new ArrayList<>();

//Assigning mList raw data in a new list
sortedList = mList;

//Here, I'm sorting and reversing
Collections.sort(sortedList);
Collections.reverse(sortedList);
//用于存储已排序和已反转的数据
sortedList=新的ArrayList();
//在新列表中分配mList原始数据
sortedList=mList;
//在这里,我正在排序和反转
收集.分类(分类列表);
收款。反向(分类列表);

sortedList现在被排序和反转,但问题是mList本身也被排序。为什么?我应该如何排序唯一的列表,而不是旧的列表。帮帮忙。感谢您的帮助。谢谢。

您的排序操作正在引用原始列表的同一引用上进行。一种解决方法是通过复制构造函数复制原始列表:

sortedList = new ArrayList<>(mList);
Collections.sort(sortedList);    // doesn't affect mList
Collections.reverse(sortedList); // also doesn't affect mList
sortedList=新阵列列表(mList);
Collections.sort(sortedList);//不影响mList
收藏。反向(分类列表);//也不影响mList

因为
sortedList
mList
都有相同的参考。不是直接针对你的问题,而是排序然后反转;首先,我会按相反的顺序排序。比如,
Collections.sort(sortedList,Collections.reverseOrder())您有一个列表,由两个变量引用。因此,对它进行排序。