使用 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();
现在我有一个 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();