stream().sorted()怎么用
时间: 2024-02-01 17:10:50 浏览: 63
10.第十节-使用stream流sorted实现排序.mp4
stream().sorted()方法用于对流中的元素进行排序。它可以按照自然排序或者使用Comparator提供的排序规则进行排序。下面是使用stream().sorted()方法的几种示例:
1. 按照自然排序进行排序:
```java
List<Integer> numbers = Arrays.asList(5, 3, 8, 2, 1);
List<Integer> sortedNumbers = numbers.stream()
.sorted()
.collect(Collectors.toList());
System.out.println(sortedNumbers); // 输出:[1, 2, 3, 5, 8]
```
2. 使用Comparator提供的排序规则进行排序:
```java
List<String> names = Arrays.asList("John", "Alice", "Bob", "David");
List<String> sortedNames = names.stream()
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
System.out.println(sortedNames); // 输出:[John, David, Bob, Alice]
```
3. 自定义排序规则进行排序:
```java
List<Person> people = Arrays.asList(
new Person("John", 25),
new Person("Alice", 30),
new Person("Bob", 20)
);
List<Person> sortedPeople = people.stream()
.sorted(Comparator.comparing(Person::getAge))
.collect(Collectors.toList());
System.out.println(sortedPeople); // 输出:[Bob, John, Alice]
```
在上述示例中,我们使用了stream().sorted()方法对流中的元素进行排序。第一个示例中,我们使用自然排序对整数列表进行排序。第二个示例中,我们使用Comparator.reverseOrder()方法对字符串列表进行降序排序。第三个示例中,我们使用Comparator.comparing()方法根据Person对象的年龄属性进行排序。
阅读全文