java8處理list集合去重分組操作
阿新 • • 發佈:2018-12-03
//分組統計重複String的名稱和數量
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("a");
Map<String,Long> map = list.stream().collect(Collectors.groupingBy(obj -> obj,Collecots.counting());
//根據物件屬性分組統計
list.stream().collect(Collectors.groupingBy(OBJECT::getTestName) );
//java8去重根據年紀和專業屬性去除重複資料
List<ClassEntity> distinctClass = classEntities.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getProfessionId() + ";" + o.getGrade()))), ArrayList::new));
//用hashSet去重
List<String> classNameList = new ArrayList(new HashSet(classNames));