stream 多字段条件去重


通过TreeSet的比较器进行多字段拼接以set集合的特性去重

List collect1 = users.stream()
                     .collect(Collectors.collectingAndThen(Collectors.toCollection(
                      () ->new TreeSet<>(
                      Comparator.comparing(u -> u.getAge() +";" + u.getName())
                      )), ArrayList::new));


//根据object去重
            ArrayList<Statistics> statisticsArrayList1 = statisticsList1.stream()
                    .collect(Collectors.collectingAndThen
                            (Collectors.toCollection(() ->
                                    new TreeSet<>(Comparator.comparing(Statistics::getObject))), ArrayList::new));


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM