在出现了有关按另一个列表对列表进行排序的问题之后,我试图做同样的事情-但由于某种原因,它对我不起作用。我想念什么?
List<Double> nums = Arrays.asList(5.0, 0.9, 10.4);
List<Double> order = Arrays.asList(3.0, 1.0, 2.0);
nums.sort(Comparator.comparing(order::indexOf));
System.out.println(nums);
OUTPUT: [5.0, 0.9, 10.4]
Run Code Online (Sandbox Code Playgroud)
它应该是[0.9、10.4、5.0](根据order)。我做错了什么?
编辑:正如你们大多数人所注意到的,我得到了与所有错误相关的问题的答案。这是我真正想要做的。
Mic*_*ael 17
您正在按数字在order列表中的位置对它们进行排序,但是在订单列表中没有数字出现。在这种情况下,indexOf将为-1所有内容返回,这意味着所有内容均等于其他所有内容。在这种情况下,未指定最终的排序顺序-尽管您实际上可以假定它不会更改。
| 归档时间: |
|
| 查看次数: |
709 次 |
| 最近记录: |