过滤去重复
Map<Long, List<MeterReadValueDTO>> map = meterStateAndExceptionList.stream().collect(Collectors.groupingBy(MeterReadValueDTO::getValveId));
List<MeterReadValueDTO> newMeterStateAndExceptionList = new ArrayList<>();
map.forEach((valveId,meterReadValueDTOList)->{
if (meterReadValueDTOList.size()>1){
newMeterStateAndExceptionList.add(meterReadValueDTOList.stream().sorted(Comparator.comparing(MeterReadValueDTO::getSourceTime).reversed()).findFirst().get());
}else {
newMeterStateAndExceptionList.addAll(meterReadValueDTOList);
}
});