Map<String, List<String>> listMap Map<String, List<String>> listMap 相组合叠加key相同不替换
时间: 2023-07-09 15:33:51 浏览: 121
如果你想将两个 `Map<String, List<String>>` 进行组合叠加,可以使用以下代码:
```java
Map<String, List<String>> map1 = new HashMap<>();
Map<String, List<String>> map2 = new HashMap<>();
// 假设 map1 和 map2 已经初始化并填充了数据
for (Map.Entry<String, List<String>> entry : map2.entrySet()) {
String key = entry.getKey();
List<String> value = entry.getValue();
List<String> existingValue = map1.get(key);
if (existingValue == null) {
map1.put(key, value);
} else {
existingValue.addAll(value);
}
}
```
这段代码会将 `map2` 的所有键值对合并到 `map1` 中,如果 `map1` 中已经存在相同的键,则将其对应的值合并,而不是替换。
相关问题
Map<String, List<String>> listMap Map<String, List<String>> listMap 相组合叠加
如果要将两个 `Map<String, List<String>>` 相组合叠加,可以使用 `putAll()` 方法:
```java
Map<String, List<String>> map1 = new HashMap<>();
// 向 map1 添加数据...
map1.put("key1", Arrays.asList("value1", "value2"));
map1.put("key2", Arrays.asList("value3"));
Map<String, List<String>> map2 = new HashMap<>();
// 向 map2 添加数据...
map2.put("key2", Arrays.asList("value4", "value5"));
map2.put("key3", Arrays.asList("value6"));
// 将 map2 中的数据合并到 map1 中
map1.putAll(map2);
```
以上代码中,我们首先创建了两个 `Map<String, List<String>>`,分别为 `map1` 和 `map2`,然后向这两个 Map 中添加了一些数据。最后,我们使用 `putAll()` 方法将 `map2` 中的数据合并到 `map1` 中。如果 `map1` 中已经存在某个 key,那么这个 key 对应的 value 会被替换为 `map2` 中的 value。
阅读全文