stream流的filter方法
时间: 2023-10-24 11:29:51 浏览: 151
stream流的filter方法是Java中Stream API中的一个操作方法。它用于根据给定的条件筛选出符合条件的元素,返回一个新的Stream流。
filter方法接受一个Predicate函数式接口作为参数,该接口定义了一个用于判断元素是否符合条件的方法。对于Stream流中的每个元素,都会调用Predicate的test方法进行判断,如果返回true,则保留该元素;如果返回false,则过滤掉该元素。
以下是filter方法的用法示例:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
System.out.println(evenNumbers);
```
在上述示例中,首先创建了一个包含数字1到10的List。然后使用stream()方法将List转换为Stream流。接着使用filter方法传入一个Lambda表达式作为参数,该Lambda表达式判断元素是否为偶数。最后使用collect方法将满足条件的元素收集到新的List中,并输出结果。
输出结果为:[2, 4, 6, 8, 10],即筛选出了原始列表中的偶数。
通过filter方法,我们可以根据自定义的条件对Stream流中的元素进行过滤,以便得到满足特定条件的结果。
阅读全文