stream 流 集合 根据某个字段去重 + 提出多个字段生成新集合

 

stream 流  集合 根据某个字段去重  + 提出多个字段生成新集合

List<WebCouponIdAndNameDTO> webCouponIdAndNameDTOList = new ArrayList<>();
if (CollectionUtil.isEmpty(couponDOByCodeList)) {
    return webCouponIdAndNameDTOList;
}
//根据 code去重 webCouponIdAndNameDTOList
= couponDOByCodeList.stream() .collect(Collectors.collectingAndThen( Collectors.toCollection( () -> new TreeSet<> (Comparator.comparing(CouponDO::getCpnCode))), ArrayList::new))
//取出三个字段 组成新集合 .stream().map(e
-> new WebCouponIdAndNameDTO(e.getCpnName(), e.getCpnCode(), e.getCpnCode())) .collect(Collectors.toList());

 

posted @ 2022-11-18 16:31  未确定  阅读(772)  评论(0编辑  收藏  举报