工作上的场景,简单记录一下:
在这里直接借用业务上的list,不再new 了。
List<AlarmStatisticsListOutput> alarmList = spareAlarmStatisticsMapper.selectAlarmStatistics(unitIdList);
根据对象中的某个字段分组,得到重复数据,在这里用了对象中的一个字段spareId
Map<String, List<AlarmStatisticsListOutput>> groupMap = alarmList.stream().collect(Collectors.groupingBy(AlarmStatisticsListOutput::getSpareId));
在这里可以循环map,获取value中的list的size()>1的数据。
for (Map.Entry<String, List<AlarmSpareOutput>> map : groupMap.entrySet()) {
if (map.getValue().size() > 1) {
//处理业务
}
}
获取重复数据的个数
List<String> count = groupMap.keySet().stream().filter(key -> groupMap.get(key).size() > 1).distinct().collect(Collectors.toList());
版权声明:本文为lifulian318原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。