使用 Java 8 和 HashMap 简化地图

Cleaner map reduce with Java 8 and a HashMap

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

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

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

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

您可以使用 mapToLong 获取 LongStream 然后调用 sum()

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