list<Map>集合内的Map取并集去重
时间: 2023-07-19 19:30:04 浏览: 129
list的排序和去重
5星 · 资源好评率100%
要实现集合内的Map取并集去重,可以按照以下步骤进行:
1. 定义一个新的HashMap用于存放去重后的结果。
2. 遍历集合内的每一个Map对象,获取其中的键值对。
3. 对于每一个键值对,检查新的HashMap中是否已经存在该键,如果不存在,则将该键值对存入新的HashMap中。
4. 如果已经存在该键,则比较该键对应的值是否相等,如果不相等,则将原来的值替换为集合中的新值。
5. 遍历完所有的Map对象后,新的HashMap中就存放了集合内所有Map的并集去重结果。
下面是Java代码示例:
```
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
// 假设list中已经存放了多个Map对象
Map<String, Object> result = new HashMap<String, Object>();
for (Map<String, Object> map : list) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
if (result.containsKey(key)) {
Object oldValue = result.get(key);
if (!oldValue.equals(value)) {
result.put(key, value);
}
} else {
result.put(key, value);
}
}
}
```
上述代码中,我们通过两层循环遍历了集合内所有的Map对象,依次取出每个Map中的键值对。对于每一个键值对,我们首先检查新的HashMap中是否已经包含该键,如果包含则进行值的比较,否则直接存储该键值对。最终,新的HashMap中就存放了集合内所有Map的并集去重结果。
阅读全文