stream.filter方法详解及代码示例
时间: 2023-08-11 17:04:14 浏览: 636
stream-filter:一种简单现代PHP流过滤方法
好的,Stream的filter方法是用来筛选Stream中的元素,只留下符合条件的元素,返回一个新的Stream。
方法签名如下:
```
Stream<T> filter(Predicate<? super T> predicate)
```
其中,Predicate接口是一个函数式接口,用来表示一个判断条件。Predicate接口中只有一个抽象方法:
```
boolean test(T t);
```
下面是一个代码示例:
```
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Stream<Integer> stream = list.stream().filter(i -> i % 2 == 0);
stream.forEach(System.out::println);
```
这个示例中,我们首先创建了一个包含1到10的整数列表。然后,我们使用stream方法将列表转换成一个Stream。接着,我们使用filter方法,只保留其中偶数元素,最后使用forEach方法遍历新的Stream并打印每个元素。
输出结果为:
```
2
4
6
8
10
```
这个示例中,我们使用了Lambda表达式作为Predicate的实现,只保留了偶数元素。您也可以使用其他方式实现Predicate接口,只要满足test方法的返回值为boolean类型即可。
阅读全文