stream流filter
时间: 2023-08-11 22:05:59 浏览: 46
stream流filter是Java 8中引入的一种功能,它允许我们使用一种简洁的方式流中的元素进行筛选。流是一种处理集合数据的抽概念,它可以支持串行和并行的操作。
使用filter方法,我们可以根据特定的条件筛选出符合要求的元素,并将它们组成一个新的流。filter方法接受一个Predicate函数式接口作为参数,该接口定义了一个用于判断元素是否满足条件的抽象方法。只有满足条件的元素才会被保留在新的流中。
下面是一个示例代码,演示了如何使用stream流的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); // 输出: [2, 4, 6, 8, 10]
```
在上述代码中,我们首先创建了一个包含整数的列表。然后使用stream方法将列表转换为一个流对象。接着使用filter方法传入一个Lambda表达式,筛选出所有能被2整除的元素。最后使用collect方法将筛选出的元素收集到一个新的列表中。
通过使用stream流的filter方法,我们可以更加方便地对集合中的元素进行筛选,并得到满足特定条件的新的流或列表。