jav*_*999 11 java dictionary hashmap
什么是发现的总数最好/最有效的方式值的HashMap.
我不是指.size()方法,因为它计算键的数量.我想要所有键中的值的总数.
我想这样做,因为我的钥匙是String,但我的价值是List.
Cla*_*oft 11
在Java 8中,您还可以使用StreamAPI:
int total = map.values()
.stream()
.mapToInt(List::size) // or (l -> l.size())
.sum()
Run Code Online (Sandbox Code Playgroud)
这样做的好处是,您不必像在Java 8之前的解决方案中那样重复变量的List<Foo>类型for:
int total = 0;
for (List<Foo> list : map.values())
{
total += list.size();
}
System.out.println(total);
Run Code Online (Sandbox Code Playgroud)
除此之外,虽然没有建议,但您也可以在不需要临时变量的情况下使用该值内联:
System.out.println(map.values().stream().mapToInt(List::size).sum());
Run Code Online (Sandbox Code Playgroud)
最简单的是,迭代并添加列表大小.
int total = 0;
for (List<Foo> l : map.values()) {
total += l.size();
}
// here is the total values size
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10893 次 |
| 最近记录: |