1 回答

TA贡献1875条经验 获得超3个赞
您可以使用 Streams 做到这一点:
catalogs.stream().collect(
Collectors.groupingBy(Catalog::getId, Collectors.counting()));
输出:
jshell> catalogList.stream().collect(
...> Collectors.groupingBy(Catalog::getId, Collectors.counting()));
$43 ==> {901=2, 545=3, 546=2, 40962=4}
- 编辑 -
如果您想进一步操作输出或想以某种客户格式打印,您可以在下面使用:
catalogList.stream().collect(Collectors.groupingBy(Catalog::getId, Collectors.counting())).entrySet().stream().map(p->"catalog id--->"+p.getKey()+" -- "+p.getValue()).forEach(System.out::println);
输出:
catalog id--->901 -- 2
catalog id--->545 -- 3
catalog id--->546 -- 2
catalog id--->40962 -- 4
添加回答
举报