将五个map中key相同的key和value分成多个list
时间: 2024-11-24 20:41:12 浏览: 18
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
当你需要将多个Map中键值对相同的键及其对应的值合并成一个列表时,你可以按照以下步骤操作:
1. 首先,创建一个空的Map,这个新Map的键将是原始Map中的相同键,值是一个List用于存储对应的所有值。
```java
Map<String, List<Object>> combinedMap = new HashMap<>();
```
2. 遍历所有给定的Map,对于每个Map中的键值对:
```java
for (Map<String, Object> map : maps) {
String key = map.keySet().iterator().next(); // 获取第一个键(假设它们都是相同的)
// 如果combinedMap中还没有这个键,则添加一个新的List
if (!combinedMap.containsKey(key)) {
combinedMap.put(key, new ArrayList<>());
}
// 将当前Map中该键的值添加到对应的List中
combinedMap.get(key).add(map.get(key));
}
```
3. 这样,`combinedMap` 中的每个键都将关联着一个包含所有源Map中该键相同值的列表。
如果你只有两个Map,可以简化上述过程,直接在一个for-each循环内操作。如果有更多Map,可以考虑封装在集合(如List<Map>)里再一起遍历。
阅读全文