public Collection<HsCodeReturnDto> returnHsCodeDiff(BigDecimal version) {
//拿出所有数据,判断海关编码相同的数据,弃用版本号小的,只保留版本号大的返回
List<HsCodeReturnDto> hjHsCodeDiffReturnDtos = hjHsCodeDiffMapper.returnHsCodeDiff(version);
List<HsCodeReturnDto> addDto = hjHsCodeDiffReturnDtos.parallelStream().filter(o -> o.getType().equals("1")).collect(Collectors.toList());//新增
List<HsCodeReturnDto> modifyDto = hjHsCodeDiffReturnDtos.parallelStream().filter(o -> !o.getType().equals("1")).collect(Collectors.toList());//修改或者删除的
List<HsCodeReturnDto> values =new ArrayList<HsCodeReturnDto>(modifyDto.parallelStream().collect(Collectors.groupingBy(HsCodeReturnDto::getHsCode, Collectors.collectingAndThen(Collectors.reducing((c1, c2) -> c1.getVersion().compareTo(c2.getVersion()) > 0 ? c1 : c2), Optional::get))).values()) ;
if (addDto.size()>0){
values.addAll(addDto);
}
return values;
}
Java处理集合(两个集合去重)两个集合合并,并把一个集合中数据去重
最新推荐文章于 2024-02-18 14:40:50 发布