java8去重_Java8去重

packagecom.cdyfsz.autoaudit.rule.tool.test;importcom.cdyfsz.autoaudit.rule.tool.dto.ExcelAuditConclusionDto;importcom.cdyfsz.autoaudit.rule.tool.utils.CollectionUtils;import java.util.*;importjava.util.concurrent.ConcurrentHashMap;importjava.util.function.Function;importjava.util.function.Predicate;importjava.util.stream.Collectors;import staticjava.util.stream.Collectors.collectingAndThen;import staticjava.util.stream.Collectors.toCollection;public classtestMain01 {public static voidmain(String[] args) {

List auditConclusionCodeList = new ArrayList<>();

ExcelAuditConclusionDto excelAuditConclusionDto1= newExcelAuditConclusionDto();

excelAuditConclusionDto1.setAuditConclusionCode("01");

excelAuditConclusionDto1.setAuditConclusion("结论1");

excelAuditConclusionDto1.setAuditConclusionParentCode("001");

ExcelAuditConclusionDto excelAuditConclusionDto2= newExcelAuditConclusionDto();

excelAuditConclusionDto2.setAuditConclusionCode("01");

excelAuditConclusionDto2.setAuditConclusion("结论1");

excelAuditConclusionDto2.setAuditConclusionParentCode("001");

ExcelAuditConclusionDto excelAuditConclusionDto3= newExcelAuditConclusionDto();

excelAuditConclusionDto3.setAuditConclusionCode("02");

excelAuditConclusionDto3.setAuditConclusion("结论2");

excelAuditConclusionDto3.setAuditConclusionParentCode("002");

auditConclusionCodeList.add(excelAuditConclusionDto1);

auditConclusionCodeList.add(excelAuditConclusionDto2);

auditConclusionCodeList.add(excelAuditConclusionDto3);if(CollectionUtils.isNotEmpty(auditConclusionCodeList)) {//去重

auditConclusionCodeList =auditConclusionCodeList.stream().collect(collectingAndThen(

toCollection(()-> new TreeSet<>(Comparator.comparing(ExcelAuditConclusionDto::getAuditConclusionCode))), ArrayList::new)

);

auditConclusionCodeList=auditConclusionCodeList.stream().collect(collectingAndThen(

toCollection(()-> new TreeSet<>(Comparator.comparing(ExcelAuditConclusionDto::getAuditConclusionCode))),ArrayList::new)

);//去重

auditConclusionCodeList =auditConclusionCodeList.stream().filter(distinctByKey(ExcelAuditConclusionDto::getAuditConclusionCode)).collect(Collectors.toList());

}for(ExcelAuditConclusionDto rd :auditConclusionCodeList){

System.out.println(rd.getAuditConclusionCode()+"====="+rd.getAuditConclusion());

}

}private static Predicate distinctByKey(Function super T, ?>keyExtractor) {

Set seen =ConcurrentHashMap.newKeySet();return t ->seen.add(keyExtractor.apply(t));

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值