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