【发布时间】:2020-05-17 19:10:01
【问题描述】:
我用
排序someList.sorted(Comparator.comparingInt(someClass::getValue).reversed())
现在,我需要像这个答案一样按绝对值排序:abs_number = (number < 0) ? -number : number;(不使用 )Math.abs(x) 或 Math.sqrt(Math.pow(x, 2))
如何实现一个新的java.util.Comparator或java.util.function.ToIntFunction,按AbsoluteValue倒序排列?
【问题讨论】:
-
为什么不使用
abs?直接的解决方案是someList.sorted(Comparator.comparingInt(v -> Math.abs(v.getValue())).reversed());,但如果你坚持不使用abs,那么就使用someList.sorted(Comparator.comparingInt(v -> v.getValue() < 0? -v.getValue(): v.getValue())).reversed());
标签: sorting java-8 java-stream comparator