在 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/