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
添加回答
舉報