java .List.stream().filter()
时间: 2024-06-22 10:01:08 浏览: 135
`List.stream().filter()` 是 Java 8 引入的 Stream API 中的一个常用方法,用于处理集合(List)中的元素。它基于管道(pipeline)的概念,允许你在一行代码中执行一系列的操作,比如过滤、映射、聚合等。
具体来说,当你调用 `List.stream()` 时,它会创建一个从 List 开始的流(Stream),然后你可以使用 `.filter()` 方法对这个流进行过滤操作。`filter(Predicate predicate)` 方法接收一个谓词(Predicate),该谓词是一个测试每个元素是否满足条件的函数。如果元素满足这个条件,它会被包含在返回的流中,否则会被丢弃。
举个例子,假设你有一个包含整数的 List,你想找出其中所有偶数,你可以这样做:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
```
在这个例子中,`.filter(n -> n % 2 == 0)` 使用了一个 lambda 表达式作为 Predicate,检查每个数是否能被 2 整除(即是否为偶数)。结果是一个新的流,只包含偶数,最后使用 `.collect()` 方法将其转换回 List 形式。
阅读全文