不使用stream流,使用jdk1.7实现对多个map相同的key,让他们的value加和,返回map
时间: 2024-02-26 10:57:44 浏览: 70
关于map的 一个key对应多个value
可以使用一个for循环遍历所有的`Map`,将相同的`key`的`value`加起来,最后存入一个新的`Map`中。代码如下:
```java
public static Map<String, Integer> sumMaps(List<Map<String, Integer>> maps) {
Map<String, Integer> result = new HashMap<>();
for (Map<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, result.get(key) + value);
} else {
result.put(key, value);
}
}
}
return result;
}
```
这个方法接收一个包含多个`Map`的`List`,然后使用两个嵌套的`for`循环遍历所有的`Map`和其中的键值对。对于每个键值对,如果`result`中已经包含了相同的`key`,则将其对应的`value`加上当前的`value`;否则直接将当前的键值对存入`result`中。最后返回`result`即可。
阅读全文