java 逆向排序_java – 是否可以使用Comparator.comparingInt链以反向自然顺序对两个字段进行排序...
时间: 2024-02-17 12:02:16 浏览: 120
是的,可以使用`Comparator.comparingInt`链以反向自然顺序对两个字段进行排序。可以使用`reversed()`方法来反转比较器的自然顺序。例如,假设您有一个具有两个整数字段的Java类`Person`,您希望以第一个字段的逆序和第二个字段的自然顺序对它们进行排序。您可以使用以下代码:
```
List<Person> people = ...; // assume you have a list of Person objects
Comparator<Person> comparator = Comparator.comparingInt((Person p) -> p.getFirstField()).reversed()
.thenComparingInt((Person p) -> p.getSecondField());
Collections.sort(people, comparator);
```
这将首先按第一个字段的逆序排序,然后按第二个字段的自然顺序排序。
相关问题
comparator.comparingint
comparator.comparingInt() 是 Java 8 中新增的一个方法,用于将 Integer 对象按照其自然顺序进行比较。这个方法返回一个 Comparator<Integer> 对象,可以用来对 Integer 对象进行排序或比较。例如:
List<Integer> intList = Arrays.asList(3, 1, 2);
Collections.sort(intList, Comparator.comparingInt(i -> i));
这段代码将 intList 按照其自然顺序进行排序。
Comparator.comparingInt
Comparator.comparingInt 是 Java 8 中的一个方法,用于根据一个对象的 int 属性进行比较排序。它接收一个函数作为参数,该函数用于提取对象的 int 属性的值,并返回一个比较器。比较器根据这些提取的值对对象进行排序。
下面是一个使用 Comparator.comparingInt 的示例代码:
```
List<Integer> numbers = Arrays.asList(3, 1, 4, 1, 5, 9);
Collections.sort(numbers, Comparator.comparingInt(Integer::intValue));
```
在这个例子中,我们使用 Comparator.comparingInt 来根据整数列表中的值进行排序。通过传递 Integer::intValue 作为参数,我们提取了每个整数本身的值,并使用它们进行比较排序。
阅读全文