stream合并多个HashMap<String,Integer>,如果重复只取一个
时间: 2023-11-28 18:51:39 浏览: 55
可以通过遍历每个 HashMap 的键值对,将其存储到一个新的 HashMap 中,如果出现了重复的键,则只保留第一个键值对,其他的键值对直接忽略即可。
下面是一个示例代码:
```java
public static HashMap<String, Integer> mergeMaps(HashMap<String, Integer>... maps) {
HashMap<String, Integer> result = new HashMap<>();
for (HashMap<String, Integer> map : maps) {
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
if (!result.containsKey(key)) {
result.put(key, value);
}
}
}
return result;
}
```
这个方法接收一个可变参数,可以传入任意多个 HashMap,然后将它们合并成一个新的 HashMap 并返回。在遍历每个 HashMap 的键值对时,如果发现新的键不存在于结果 HashMap 中,则将其添加到结果 HashMap 中。如果已经存在,则直接忽略。
阅读全文