我有一个java.util.Map<Foo, Double>关键类课程Foo.我们来调用地图的实例map.
我想在该地图中添加{ foo,f}(foo是一个实例Foo和f一个实例Double).但是如果密钥foo已经存在,我想总结f到该映射中的当前值.
目前我用
Double current = map.get(foo);
f += current == null ? 0.0 : current;
map.put(foo, f);
Run Code Online (Sandbox Code Playgroud)
但是在Java 8中有没有一种时髦的方法,例如使用Map#merge和Double::sum?
遗憾的是我无法弄明白.
谢谢.
我正在尝试将特定值添加到地图中Java,其中键非常复杂,但值是一个简单的Double.
目前我正在使用,其中foos是一个实例java.util.TreeMap<Foo, Double>,并且amount是一个Double代码,如:
for (java.util.Map.Entry<Foo, Double> entry : foos.entrySet()){
foos.put(entry.getKey(), entry.getValue() + amount);
}
Run Code Online (Sandbox Code Playgroud)
但这看起来很脏,我必须重新插入元素,我担心使迭代器失效.
有没有更好的方法呢?我正在使用最新版本的Java.