java - 如何合并两个 HashMap 并对相同键的值求和?

标签 java dictionary

我有一个对象 ( EnergyUsageData ),它显示每种能源类型的能源使用情况,该对象有两个字段:

private EnergyType type;
private Map<YearMonth, BigDecimal> billsMap;

map 包含能源账单数据。 我正在获取能源账单数据并将它们放入列表中:

List<EnergyUsageData> energyUsageDataList = new ArrayList<>();

现在我想合并具有相同能量类型的 map 。例如,如果我在柴油能源类型列表中有多个元素,我想组合 billsMap为它们添加能源使用量 YearMonth 。我正在寻找一种有效的方法来组合数据并生成一个列表,其中每种能源类型只有一个元素。最好的方法是什么?

最佳答案

伪代码:

For all keys in table 2
  v2 = that key's value in table 2.
  v1 = that key's value in table 1.
  If v1 is null
    Set key and v2 pair into table 1.
  Otherwise
    Sum the two values
    Set key and sum pair in table 1.
Done.

关于java - 如何合并两个 HashMap 并对相同键的值求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33851292/

相关文章:

java - 如何迭代 MultiKeyMap?

python - 有人可以解释一下这个代码片段是如何工作的吗,我知道它找到了列表列表的转置,但我很难找到如何

java - 同步。使用 imap java 发送电子邮件

java - Selenium 等待 AJAX 请求在按钮单击后完成

java - java网络程序中字符串与内存相关的问题

Python - 查找每个可能的单词对在文本文件的同一行中出现的频率的最有效方法?

arrays - 从字典中获取键并将它们映射到数组

python - 如何使用python从文件中打印字典的值

java - 使用 Spring 将 JSON 中的 ids 数组转换为 Java 中的 POJO 数组

java - Array/ArrayList如何直接找到对象的索引?或者ArrayList如何知道对象存储在这个地方?