【发布时间】:2021-07-09 08:42:09
【问题描述】:
在维护 HashMap 时,merge 是一个非常有用的命令。我喜欢使用以下表达式将数字添加到总和的简洁方法
map.merge(key, value, Double::sum);
我有一个要更新的 HashMap
if (!map.containsKey(key)) map.put(key, new List());
map.get(key).add(value);
有没有更优雅的方式使用合并来实现这一点?
【问题讨论】:
-
您应该在文档中查找
map.compute兄弟函数。 -
您最初的问题是什么?您不需要以某种方式对传入数据进行分组吗?这可以通过 stream/groupBy 而不是循环来实现