Java 中合并 Map<Object, List<Map<String, Object>>> 中相同 Key 的 Value
可以使用 Map 和 List 的循环遍历来实现。具体步骤如下:
- 创建一个新的 Map,用于存放相同 key 的 value 相加后的结果。
- 遍历原始的 Map 的所有 key。
- 对于每个 key,获取对应的 value 列表。
- 遍历 value 列表,将某个值相加得到结果。
- 将结果添加到新的 Map 中,以 key 作为键,结果作为值。
- 最后,将新的 Map 中的所有值放入一个 List 中,即为最终结果。
以下是一个示例代码:
Map<Object, List<Map<String, Object>>> originalMap = /* 原始的 Map 数据 */;
Map<Object, Integer> resultMap = new HashMap<>();
for (Object key : originalMap.keySet()) {
List<Map<String, Object>> valueList = originalMap.get(key);
int sum = 0;
for (Map<String, Object> valueMap : valueList) {
// 假设要相加的值的键为'value'
int value = (int) valueMap.get('value');
sum += value;
}
resultMap.put(key, sum);
}
List<Integer> resultList = new ArrayList<>(resultMap.values());
在上述示例代码中,假设要相加的值的键为'value',你可以根据实际情况修改。最终的结果将保存在 resultList 中。
原文地址: https://www.cveoy.top/t/topic/qCdo 著作权归作者所有。请勿转载和采集!