java8 stream() 去重 分組

   //去重
            ArrayList<JiTuanAddressModel> schoolListFinal1 = jiTuanAddressModelsNew.stream().collect(
                    collectingAndThen(
                            toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getSchoolId() + ";" + o.getIsSendSchool()))), ArrayList::new)
            );
            ArrayList<DepartBasicModel> departListFinal1 = departListFinal.stream().collect(
                    collectingAndThen(
                            toCollection(() -> new TreeSet<>(Comparator.comparing(DepartBasicModel::getId))), ArrayList::new)
            );
            ArrayList<UserPageModel> userListFinal1 = userListFinal.stream().collect(
                    collectingAndThen(
                            toCollection(() -> new TreeSet<>(Comparator.comparing(UserPageModel::getId))), ArrayList::new)
            );


            //分組  根據某一字段分組
            Map<Integer, List<JiTuanAddressModel>> schoollistMap = schoolListFinal1.stream().distinct().collect(Collectors.groupingBy(JiTuanAddressModel::getSchoolId));
            Map<Integer, List<DepartBasicModel>> departlistMap = departListFinal1.stream().distinct().collect(Collectors.groupingBy(DepartBasicModel::getSchoolId));
            Map<Integer, List<UserPageModel>> userlistMap = userListFinal1.stream().distinct().collect(Collectors.groupingBy(UserPageModel::getSchoolId));

 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章