java 8 map 过滤_Java 8使用条件过滤并收集自定义Map
时间: 2024-03-08 08:46:54 浏览: 18
java8快速实现List转map 、分组、过滤等操作
5星 · 资源好评率100%
好的,针对您的问题,以下是对应的Java 8代码示例:
假设我们有一个自定义Map,其中key为String类型,value为Integer类型:
```
Map<String, Integer> map = new HashMap<>();
map.put("A", 10);
map.put("B", 20);
map.put("C", 30);
map.put("D", 40);
```
现在,我们想要过滤出Map中value大于20的键值对,并将这些键值对收集到一个新的Map中。我们可以使用以下代码实现:
```
Map<String, Integer> filteredMap = map.entrySet()
.stream()
.filter(entry -> entry.getValue() > 20)
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
```
其中,我们使用了`stream()`方法将Map转换为Stream,然后使用`filter()`方法筛选出value大于20的键值对,最后使用`collect()`方法将筛选出的键值对收集到一个新的Map中。
希望对您有所帮助!
阅读全文