gpt4 book ai didi

Java Comparator.comparing 不比较?

转载 作者:搜寻专家 更新时间:2023-10-30 21:01:51 29 4
gpt4 key购买 nike

正在关注 this question关于按另一个列表对列表进行排序,我尝试做同样的事情 - 但由于某种原因它对我不起作用。我错过了什么?

    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]

应该是[0.9, 10.4, 5.0](根据顺序)。我做错了什么?

编辑:正如你们大多数人所注意到的,我得到了我链接到的问题的答案都是错误的。 Here's what I actually want to do.

最佳答案

您正在按数字在 order 列表中的位置对数字进行排序,但没有任何数字出现在 order 列表中。在这种情况下,indexOf will return -1对于一切,意味着一切都等于其他一切。在这种情况下,生成的排序顺序是未指定的 - 尽管您可以现实地假设它不会改变。

关于Java Comparator.comparing 不比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56165647/

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