stream filter 用法
时间: 2023-09-23 08:06:19 浏览: 89
stream filter用法是对Stream流中的数据进行过滤,只保留满足条件的元素。filter方法的参数是一个Predicate函数式接口,可以传递Lambda表达式作为过滤条件。该方法返回一个新的Stream流,其中包含满足条件的元素。使用filter方法的基本步骤如下:
1. 创建一个Stream流,可以使用Stream.of方法创建。
2. 调用filter方法,传入一个Lambda表达式作为过滤条件。
3. 遍历新的Stream流,可以使用forEach方法进行遍历。
例如,对于一个包含姓名的Stream流,可以使用filter方法只保留姓"张"的人:
```
Stream<String> stream = Stream.of("张三丰", "张翠山", "赵敏", "周芷若", "张无忌");
Stream<String> stream2 = stream.filter((String name) -> {
return name.startsWith("张");
});
stream2.forEach(name -> System.out.println(name));
```
这段代码会输出姓"张"的人的姓名。注意,对于一个Stream流,filter方法只能被调用一次,之后该流就会关闭,不能再调用其他方法。如果想再次使用filter方法,需要重新创建一个新的Stream流。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [Stream流中的常用方法filter的用法](https://blog.csdn.net/qq_33351986/article/details/108020956)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *3* [stream().filter匹配过滤总结](https://blog.csdn.net/zhan107876/article/details/117329626)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文