【问题标题】:Cleaner map reduce with Java 8 and a HashMap使用 Java 8 和 HashMap 实现更清晰的 map reduce
【发布时间】:2015-07-07 18:14:12
【问题描述】:

现在我有一个 HashMap 我正试图减少到一个总数。这是当前代码:

HashMap map = new HashMap<String, Long>();
map.put("ex1", 757L);
map.put("ex2", 77L);

map.values()
   .stream()
   .reduce(0L, (a, b) -> a + b);

有没有更优雅的方法来做到这一点?我想使用 sum 方法。

【问题讨论】:

  • 类似于this,只需将double 替换为int,分别。 DoubleInteger

标签: java java-8 reduce java-stream


【解决方案1】:

您可以使用mapToLong 获取LongStream,然后致电sum()

long sum = map.values().stream().mapToLong(i -> i).sum();

【讨论】:

    猜你喜欢
    • 2018-11-16
    • 1970-01-01
    • 2017-10-10
    • 2016-12-21
    • 1970-01-01
    • 2017-05-20
    • 2015-10-01
    • 1970-01-01
    相关资源
    最近更新 更多