我正在尝试按length对字符串列表进行分组。然后我想计算每组的数量。我做了第一个,但我不能做下一个。如何使用流修复我的代码?
Stream.of(Stream.of("Brad","Jack","Leonardo","Alexander","Juliet","William","Audrey")
.collect(Collectors.groupingBy(String::length)))
.forEach(System.out::print);
Run Code Online (Sandbox Code Playgroud)
输出:{4=[布拉德,杰克],6=[朱丽叶,奥黛丽],7=[威廉],8=[莱昂纳多],9=[亚历山大]}
我想要得到的下一件事是每组的计数。我怎样才能做到这一点?
您可以链接Collectors.counting():
Map<Integer,Long> counts =
Stream.of("Brad","Jack","Leonardo","Alexander","Juliet","William","Audrey")
.collect(Collectors.groupingBy(String::length,
Collectors.counting()));
Run Code Online (Sandbox Code Playgroud)
这将产生以下结果Map:
{4=2, 6=2, 7=1, 8=1, 9=1}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
936 次 |
| 最近记录: |