Comparator.comparing 倒叙
时间: 2023-11-11 14:58:17 浏览: 118
要按倒序对对象进行排序,可以使用`Comparator.comparing`方法的变体`Comparator.comparingXXX`,其中`XXX`是要比较的对象属性。然后,可以使用`reversed()`方法将比较器反转,以实现倒序排序。下面是一个示例:
```java
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> fruits = Arrays.asList("apple", "banana", "cherry", "durian");
// 按字符串长度倒序排序
fruits.sort(Comparator.comparing(String::length).reversed());
System.out.println(fruits); // 输出:[banana, cherry, apple, durian]
}
}
```
相关问题
Comparator.comparing怎么倒叙
要使用Comparator.comparing方法进行倒序排序,可以结合使用Comparator的reversed方法。例如:
```java
Collections.sort(employees, Comparator.comparing(Employee::getName).reversed());
```
这将按照Employee对象的名称属性进行倒序排序。您也可以使用Lambda表达式:
```java
Collections.sort(employees, Comparator.comparing(e -> e.getName(), Comparator.reverseOrder()));
```
以上两种方式都可以实现Comparator.comparing方法的倒序排序。
t.stream().sorted 倒叙
以下是使用`stream().sorted()`方法进行倒序排序的示例:
```java
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
// 假设t是一个包含Order对象的列表
// 使用Comparator.reverseOrder()进行倒序排序
Comparator<Order> comparator = Comparator.comparing(Order::getDateStr, Comparator.reverseOrder());
List<Order> orderList = t.stream().sorted(comparator).collect(Collectors.toList());
System.out.println("orderList:" + orderList);
```
这段代码使用了`Comparator.reverseOrder()`来创建一个降序排序的比较器,然后将其传递给`sorted()`方法进行排序。最后,使用`collect(Collectors.toList())`将排序后的结果收集到一个新的列表中。
阅读全文