stream.filter 过滤集合
时间: 2023-08-11 22:06:17 浏览: 119
stream.filter 是 Java 8 中 Stream API 提供的一个方法,用于过滤集合中的元素。它接受一个 Predicate<T> 参数,该参数是一个函数式接口,用于定义过滤的条件。Predicate<T> 接口中有一个抽象方法 test(T t),用于判断给定的元素是否满足过滤条件。
下面是一个示例代码,展示如何使用 stream.filter 进行集合过滤:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class FilterExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 使用 stream.filter 过滤偶数
List<Integer> evenNumbers = numbers.stream()
.filter(number -> number % 2 == 0)
.collect(Collectors.toList());
System.out.println(evenNumbers); // 输出 [2, 4, 6, 8, 10]
}
}
```
在上面的示例中,我们创建了一个包含数字 1 到 10 的列表 numbers。然后使用 stream.filter 方法,传入一个 Lambda 表达式 number -> number % 2 == 0,该表达式判断元素是否为偶数。最后使用 collect(Collectors.toList()) 方法将过滤后的结果收集到一个新的列表 evenNumbers 中,并输出结果。
通过这种方式,我们可以方便地使用 stream.filter 方法来对集合进行过滤操作。
阅读全文