使用jdk1.7,对多个map相同的key,让他们的value加和,返回map
时间: 2024-02-26 12:57:41 浏览: 25
可以使用Java 8的新特性Stream来实现。代码如下:
```java
public static Map<String, Integer> sumMaps(List<Map<String, Integer>> maps) {
return maps.stream()
.flatMap(map -> map.entrySet().stream())
.collect(Collectors.toMap(
Map.Entry::getKey,
Map.Entry::getValue,
Integer::sum));
}
```
这个方法接收一个包含多个Map的List,然后使用flatMap将多个Map展开成一个键值对流,最后使用collect收集成一个新的Map,相同的键的值会被加和。
相关问题
不使用stream流,使用jdk1.7实现对多个map相同的key,让他们的value加和,返回map
可以使用一个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`即可。
如何让jdk1.7和1.8共存
要让 JDK 1.7 和 JDK 1.8 共存,你可以按照以下步骤进行操作:
1. 首先,确保已经安装了 1.7 和 JDK 1.8 版本。
2. 在系统环境变量中创建两个新的变量,分别为 `JAVA_HOME_7` 和 `JAVA_HOME_8`,并将它们分别指向 JDK 1.7 和 JDK 1.8 的安装目录。
3. 在系统环境变量的 `Path` 变量中添加以下两个路径:
- `%JAVA_HOME_7%\bin`
- `%JAVA_HOME_8%\bin`
4. 配置项目中使用的 JDK 版本:
- 对于 Maven 项目,在项目的 `pom.xml` 文件中,使用 `<maven-compiler-plugin>` 配置指定的 JDK 版本。
- 对于其他类型的项目,可以在 IDE 的项目配置中设置使用的 JDK 版本。
通过以上步骤,你可以在同一台机器上同时使用 JDK 1.7 和 JDK 1.8,并根据需要选择不同的版本进行开发和构建。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)