gpt4 book ai didi

java - 集合对 Arraylist 的副本进行排序(以保持原始顺序)

转载 作者:行者123 更新时间:2023-12-01 06:26:41 25 4
gpt4 key购买 nike

如果我有一个数组列表,并且我想要它的排序版本和未排序版本,我该如何实现它。

尝试使用集合

ArrayList<Integer> someNumbers = new ArrayList<>();

如果我创建一个新的 arraylist = someNumbers 并对其进行排序。原来的也被排序了?

ArrayList<Integer> sortedNumbers = someNumbers;
Collections.sort(sortedNumbers);

两个列表都已排序。

我怎样才能简单地实现我想要做的事情? (获取排序后的副本,并保持原始副本的原始顺序)

最佳答案

当你这样做时ArrayList<Integer> sortedNumbers = someNumbers; ,您没有创建一个新列表来排序。您基本上是在分配变量 sortedNumberssomeNumbers 完全相同的列表被分配给。

要修复此问题,您可以从其他列表创建一个新列表。像这样:

ArrayList<Integer> sortedNumbers = new ArrayList<>(someNumbers);

关于java - 集合对 Arraylist 的副本进行排序(以保持原始顺序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41464907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com