stream流遍历map集合过滤
时间: 2023-08-23 12:14:35 浏览: 77
回答: 要使用stream流遍历map集合并进行过滤,可以使用以下代码示例:
```java
Map<String, Object> map = new HashMap<>();
// 假设map是要进行遍历和过滤的集合
List<String> filteredKeys = map.entrySet().stream()
.filter(entry -> {
// 在这里添加过滤条件,比如筛选出value为特定值的键值对
// 例如,筛选出value为"example"的键值对
return entry.getValue().equals("example");
})
.map(Map.Entry::getKey)
.collect(Collectors.toList());
System.out.println(filteredKeys);
```
在上述代码中,我们使用`entrySet()`方法获取map的键值对集合,然后使用stream流进行遍历和过滤。在`filter()`方法中,我们可以添加过滤条件,根据需要筛选出符合条件的键值对。在这个例子中,我们筛选出value为"example"的键值对。最后,使用`map()`方法将键值对转换为键,然后使用`collect()`方法将筛选出的键收集到一个新的List中。最终,我们打印出筛选出的键的集合。
希望这个例子能帮助到你!
#### 引用[.reference_title]
- *1* [使用Stream流遍历过滤Map集合 及 使用Stream流遍历指定变量并组成新的集合](https://blog.csdn.net/chinatopno1/article/details/120438022)[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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [用Stream流遍历两个集合,对比出数据差异。](https://blog.csdn.net/chinatopno1/article/details/119792061)[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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Stream流的方式遍历map,筛选数据](https://blog.csdn.net/qq_44716086/article/details/126332094)[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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]