java - Java LinkedList 排序改变了其他列表
问题描述
我想在不更改原始列表的情况下对数字列表进行排序。所以这就是我所做的:
public double median(){
//first,sort the list
LinkedList<Double>sorted = entries;
Collections.sort(sorted); ...
entry 是另一个 LinkedList,我想让它不排序。我创建了一个名为 sorted 的新 LinkedList 以不更改原始条目列表。排序列表仅用于此双重功能。但是,每次我调用该函数时,它仍然会对条目列表进行排序。
如何在不更改原始列表的情况下对其进行排序?
到目前为止我所做的:
LinkedListsorted = 条目;
2.
LinkedList<Double>sorted = new LinkedList<Double>();
Collections.copy(sorted,entries);
3.
LinkedList<Double>sorted = new LinkedList<Double>();
for(int i=0;i<entries.size();i++){
sorted.add(entries.get(i));}
而且它们都没有正常工作。他们进行排序工作,但他们更改了我不想更改的条目列表。
感谢大家。现在问题已经解决了。我将它们复制粘贴到另一个软件并粘贴回来,它现在可以正常工作。我仍然不明白为什么。
解决方案
您还没有创建新列表,只是将其分配给名为 的变量sorted
,如果想要排序副本,则需要将其复制到另一个列表,如下所示。
LinkedList<Double> sorted = new LinkedList<Double>();
Collections.copy(sorted, entries);
Collections.sort(sorted);
推荐阅读
- android - 将 DayNight 主题应用于所选片段
- python - 从图像python中识别数字
- python - Python三元运算符无法分配
- paypal - PayPal Pro - PayFlow:setExpressCheckout API 调用返回“未注册此投标类型”
- python - 从在网格内连接时找到最长的整数
- python - Django,我如何计算每组有多少学生?
- php - 错误 400 错误请求,不和谐添加公会成员 guild.join
- excel - 仅在不存在时在列表末尾附加一个值。在 Excel 中
- reactjs - react-router 中 location.state 的类型或接口
- php - 如何从 API themoviedb.org 获取复杂数组中的元素