使用Java8和HashMap的Cleaner map reduce
现在我有一个HashMap,我想把它减少到一个总数。以下是当前代码:使用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 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();