java - 在 HashMap 中查找值的数量?

标签 java dictionary hashmap

HashMap 中查找 Values 总数的最佳/最有效方法是什么。

我不是说 .size()方法,因为它计算键的数量。我想要所有键中的 总数。

我想这样做,因为我的键是一个 String,但我的值是一个 List

最佳答案

在 Java 8 中,您还可以利用 Stream应用程序接口(interface):

int total = map.values()
               .stream()
               .mapToInt(List::size) // or (l -> l.size())
               .sum()

这样做的好处是您不必重复 List<Foo>输入 for变量,如 Java 8 之前的解决方案:

int total = 0;
for (List<Foo> list : map.values())
{
    total += list.size();
}
System.out.println(total);

除此之外,尽管不建议,您也可以在不需要临时变量的情况下直接使用该值:

System.out.println(map.values().stream().mapToInt(List::size).sum());

关于java - 在 HashMap 中查找值的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35993201/

相关文章:

java.lang.UnsatisfiedLinkError : Couldn't load andenginephysicsbox2dextension- Android 错误

java - 如何获得抛出我创建的自定义异常的方法?

java - 选择不包含主要类型。 eclipse 错误

python - 在特定深度的字典上添加项目

java - 如何在 mongoDB 中获取内部文档属性的值?

c++ - 如何将 map 转换为集合

java - Java中从HashMap获取LatLong

java - for循环很慢

java - java中hashmap数据结构的实现

c++ - 是否可以迭代按值排序的 map ?