java - 使用 Java 8 和 HashMap 简化 map

标签 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);

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

最佳答案

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

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

关于java - 使用 Java 8 和 HashMap 简化 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29927146/

相关文章:

java - 合并 Map<String, List<String> Java 8 Stream

javascript - JS (ES6) : Reduce array based on object attribute

c - mpi_allreduce 对派生数据类型 vector 求和

java.net.SocketTimeoutException (安卓)

java - 使用 Spring 的密码加密/解密

java - htmlunit 在运行项目后总是给出多个 javascript 异常

java - 如何从映射到多个结果的流中收集?

java - Android AAR lib - 资源链接失败

java - Lambda 表达式和嵌套数组

javascript - 将嵌套数组 -> 数组 -> 对象转换为数组 -> 对象 => 对象值 : object value