java – 如果不存在,将一个新值添加到地图中,或者添加它
发布时间:2020-12-14 16:25:28 所属栏目:Java 来源:网络整理
导读:我有一个 java.util.Map Foo,Double一个关键类的Foo.我们来打电话给地图的实例. 我想添加{foo,f}(foo是Foo的一个实例,并且f是Double).但是如果关键的foo已经存在,我想把f与该地图中的当前值相加. 目前我使用 Double current = map.get(foo);f += current ==
我有一个
java.util.Map< Foo,Double>一个关键类的Foo.我们来打电话给地图的实例.
我想添加{foo,f}(foo是Foo的一个实例,并且f是Double).但是如果关键的foo已经存在,我想把f与该地图中的当前值相加. 目前我使用 Double current = map.get(foo); f += current == null ? 0.0 : current; map.put(foo,f); 但是在Java 8中是否有一种时髦的方法,例如使用Map#merge和Double :: sum? 遗憾的是我无法想像出来. 谢谢. 解决方法
这是地图上的合并功能.
map.merge(foo,f,(f1,f2) -> f1 + f2) 这可以进一步降低 map.merge(foo,Double::sum) 它基本相当于 if(map.contains(foo)){ double x = map.get(foo); map.put(foo,x + f) } else { map.put(foo,f) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |