list.stream().filter排序
时间: 2024-06-22 21:01:03 浏览: 75
list排序
`List.stream().filter().sorted()` 是 Java 8 引入的 Stream API 中的一个常用操作序列,用于对列表进行处理。这个操作链通常用于以下几个步骤:
1. `stream()`:将列表转换为 Stream,使其能够进行流式处理,如过滤、映射、排序等。
2. `.filter(Predicate predicate)`:根据提供的谓词(Predicate)对流中的元素进行过滤。谓词是一个接口,用于定义一个测试条件,如果元素满足这个条件,该元素将被保留在流中,否则会被排除。
3. `.sorted(Comparator comparator)`:对流中的元素进行排序。这里需要传入一个 Comparator 接口的实例,它可以用来定义元素的自然顺序,或者自定义比较规则。如果省略了这个方法,那么 Stream 自身会使用元素的自然顺序进行排序。
例如,如果你想从一个整数列表中筛选出偶数,并按照升序排序,可以这样做:
```java
List<Integer> numbers = Arrays.asList(5, 2, 9, 6, 3);
List<Integer> evenSorted = numbers.stream()
.filter(n -> n % 2 == 0) // 过滤出偶数
.sorted() // 按照自然顺序排序
.collect(Collectors.toList());
```
阅读全文