stream怎么去重排序
时间: 2023-09-02 19:10:14 浏览: 54
在 Java 8 中,可以使用 Stream API 对流中的元素进行去重和排序操作。下面是一个示例:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(5, 2, 8, 2, 1, 5, 9, 8);
// 去重
List<Integer> distinctNumbers = numbers.stream()
.distinct()
.collect(Collectors.toList());
System.out.println("去重后的列表:" + distinctNumbers);
// 排序
List<Integer> sortedNumbers = numbers.stream()
.distinct()
.sorted()
.collect(Collectors.toList());
System.out.println("排序后的列表:" + sortedNumbers);
}
}
```
输出结果:
```
去重后的列表:[5, 2, 8, 1, 9]
排序后的列表:[1, 2, 5, 8, 9]
```
在上述示例中,通过调用 `distinct()` 方法可以对流中的元素进行去重操作,调用 `sorted()` 方法可以对流中的元素进行排序操作。最后使用 `collect(Collectors.toList())` 将流中的元素收集到一个新的列表中。