Collections.sort()是否会改变相同的优先级元素?

时间:2013-08-21 21:49:40

标签: java sorting

或者只是让他们一个人或抛出异常?

如果是第三个,我如何在ArrayList中对元素进行排序,保存旧的优先级相等的元素? 提前谢谢。

1 个答案:

答案 0 :(得分:8)

From the documentation

  

这种保证是稳定的:相同的元素不会因排序而重新排序。

要保存旧的arraylist的顺序,只需提前制作arraylist的副本。您可以这样说:

List<Integer> oldListOrder = new ArrayList<Integer>(listToBeSorted);
Collections.sort(listToBeSorted);

请记住,元素将引用两个列表中的相同对象。这可能不会影响你,这取决于你接下来做什么。