java中stream().filter怎么用
时间: 2024-01-26 18:09:34 浏览: 64
在java中,Stream是Java 8中新增的一个API,它提供了一种处理集合元素的简洁、易读、灵活的方式。Stream支持对集合中的元素进行过滤、映射、排序、去重等操作。
Stream.filter()方法是Stream API中的一个中间操作,它可以根据指定的条件过滤出符合条件的元素,并返回一个新的Stream。
使用filter()方法的语法如下:
```java
Stream<T> filter(Predicate<? super T> predicate)
```
其中,Predicate是一个函数式接口,它可以接受一个参数,并返回一个boolean值。 filter()方法会将Stream中的每个元素传递给Predicate进行判断,如果Predicate返回true,则该元素会被保留在Stream中,否则该元素会被过滤掉。
下面是一个示例代码:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Stream<Integer> stream = list.stream();
Stream<Integer> filteredStream = stream.filter(i -> i % 2 == 0);
filteredStream.forEach(System.out::println);
```
上述代码首先将一个整数列表转化为Stream,然后使用filter()方法过滤出其中的偶数,并将结果输出到控制台。输出结果为:
```
2
4
6
8
10
```
这里的lambda表达式`i -> i % 2 == 0`表示只保留那些可以被2整除的元素。这个表达式也可以使用方法引用的方式来表示,如:`Integer::isEven`。
阅读全文