使用Java 8 Stream API减少Map
发布时间:2020-12-15 05:14:06 所属栏目:Java 来源:网络整理
导读:我有以下表格的地图: MapInteger,MapString,Double START 让INNER成为内部地图,即 MapString,Double 例如,我想在新的地图中减少START地图 MapInteger,Double END 它具有相同的键,但值不同. 特别是,对于每个键,我希望新的Double值是INNER映射中相应键的值的S
我有以下表格的地图:
Map<Integer,Map<String,Double>> START 让INNER成为内部地图,即 Map<String,Double> 例如,我想在新的地图中减少START地图 Map<Integer,Double> END 它具有相同的键,但值不同. 我怎样才能通过使用JAVA 8的STREAM API实现这一目标? 感谢大家. 编辑:示例地图是 ------------------------------ | | 2016-10-02 3.45 | | ID1 | 2016-10-03 1.23 | | | 2016-10-04 0.98 | ------------------------------ | | 2016-10-02 1.00 | | ID2 | 2016-10-03 2.00 | | | 2016-10-04 3.00 | ------------------------------ 我想要一个像以下一样的新地图: -------------------------------- | | | | ID1 | SUM(3.45,1.23,0.98) | | | | -------------------------------- | | | | ID2 | SUM(1.00,2.00,3.00) | | | | -------------------------------- 解决方法
它会对你有用
Map<Integer,Double> collect = START.entrySet() .stream() .collect( Collectors.toMap( Map.Entry::getKey,e -> e.getValue() .values() .stream() .reduce(0d,(a,b) -> a + b) ) ); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- java – @CompoundIndex在Spring Data MongoDB中
- java – Android – Webview Progressbar
- 使用JUnit 4在Gradle Scala单元测试中进行神奇的
- 为什么Java似乎不尊重我的类路径?
- .net – 混合存储过程业务逻辑和ORM
- mybatis使用pagehelper插件过程详解
- java – signed jar file- jnlp无法提示用户接受
- 在ArrayList中插入时java.util.ConcurrentModifi
- java – Jsoup在Google Maps API上返回错误400
- java – 在异常的参数中使用泛型
热点阅读