[ { "catelogName": "同事那些事儿", "contentId": "6185", "content": "请问下揽巡大概什么时候上员工购呀?", "createTime": "2023-01-09 13:04:15", "userName": "陈驰", "nickName": " 流年、", "employeeNo": "28506", "departmentName": "修磨一班乙", "catelogId": "16", "departmentId": "340532135", "pdepartmentId": "1461618549" }, { "catelogName": "同事那些事儿", "contentId": "6180", "content": "食堂以前卖卤肉因为天气热取消了,现在天气冷了还会继续卖吗?", "createTime": "2023-01-06 22:44:03", "userName": "钟毅", "nickName": " 钟", "employeeNo": "17242", "departmentName": "西区质量组QRK乙", "catelogId": "16", "departmentId": "1380576121", "pdepartmentId": "1653742993" }, { "catelogName": "同事那些事儿", "contentId": "6177", "content": "请问现在防疫政策取消还坚持每天钉钉打卡的意义在哪里", "createTime": "2023-01-06 10:14:52", "userName": "邵香林", "nickName": "十一", "employeeNo": "18217", "departmentName": "东区PVC细密1线甲班", "catelogId": "16", "departmentId": "820480770", "pdepartmentId": "1799696901" } ]
对departmentName字段进行分组计数
可以使用Java Stream API和Collectors类来实现对List集合中的departmentName字段进行分组计数。
示例代码:
Copy codeList<Map<String, Object>> data = ...
Map<String, Long> departmentCount = data.stream().collect(Collectors.groupingBy(d -> d.get("departmentName").toString(), Collectors.counting()));
其中,data是你的数据集合,d.get("departmentName").toString()是获取每个数据记录的departmentName字段的值的函数引用。
分组后的键值是departmentName,值是该部门名称出现的次数。
如果你的数据来源是数据库,需要自己写查询语句将数据读取出来,最好是用java对象来存储每条数据。