使用Java8和HashMap的Cleaner map reduce

使用Java8和HashMap的Cleaner map reduce,java,java-8,reduce,java-stream,Java,Java 8,Reduce,Java Stream,现在我有一个HashMap,我想把它减少到一个总数。以下是当前代码: HashMap map = new HashMap<String, Long>(); map.put("ex1", 757L); map.put("ex2", 77L); map.values() .stream() .reduce(0L, (a, b) -> a + b); HashMap map=newhashmap(); 地图放置(“ex1”,757L); 地图放置(“ex2”,77L)

现在我有一个HashMap,我想把它减少到一个总数。以下是当前代码:

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

map.values()
   .stream()
   .reduce(0L, (a, b) -> a + b);
HashMap map=newhashmap();
地图放置(“ex1”,757L);
地图放置(“ex2”,77L);
map.values()
.stream()
.减少(0升,(a,b)->a+b);

有没有更优雅的方法?我想使用sum方法。

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


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

与之类似,只需将
double
替换为
int
,即可
Double
Integer
类似,只需将
Double
分别替换为
int
<代码>双精度带
整数
long sum = map.values().stream().mapToLong(i -> i).sum();