stream流 filter 和map混合用
时间: 2023-08-26 15:05:24 浏览: 109
在 Java 中,你可以将流(Stream)的 filter 和 map 操作混合使用来对数据进行筛选和转换。
filter 操作可以用来根据特定的条件筛选出符合条件的元素,而 map 操作可以用来对流中的每个元素进行转换操作,生成一个新的流。通过将这两个操作组合使用,你可以根据需要同时对元素进行筛选和转换。
下面是一个示例代码,展示了如何使用 filter 和 map 进行混合操作:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> result = numbers.stream()
.filter(n -> n % 2 == 0) // 筛选出偶数
.map(n -> n * n) // 将每个偶数平方
.collect(Collectors.toList());
System.out.println(result); // 输出 [4, 16]
```
在上述示例中,我们首先创建了一个包含整数的列表。然后,我们使用 stream() 方法将列表转换为流。接下来,我们使用 filter 操作筛选出偶数,使用 map 操作将每个偶数平方,最后使用 collect 方法将结果收集到一个新的列表中。
注意,filter 和 map 操作都返回一个新的流,并且可以按照需要进行链式调用。最后,我们可以使用 collect 方法将结果收集到一个列表中,以便输出或进一步处理。
这只是一个简单示例,你可以根据具体需求和数据类型进行更复杂的操作。希望对你有所帮助!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)