假设我想以相反的顺序ArrayList对字段height中的对象进行排序,如果两个值相同,我想以相反的顺序进一步对字段宽度进行排序。有没有办法使用类似的东西
Comparator<Test> comparator = Comparator
.comparingInt((Test t) -> t.height).reversed()
.thenComparingInt((Test t ) -> t.width).reversed();
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用类似的东西:
Collections.sort(list, new Comparator<Test>() {
public int compare(Test o1, Test o2) {
Integer x1 = o1.height;
Integer x2 = o2.height;
int sComp = x2.compareTo(x1);
if (sComp != 0) {
return sComp;
}
x1 = o1.width;
x2 = o2.width;
return x2.compareTo(x1);
}});
Run Code Online (Sandbox Code Playgroud)
但我真的很好奇是否有一行解决方案
所以关于这个小例子
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
Test one = …Run Code Online (Sandbox Code Playgroud)