1. 程式人生 > >java8處理list集合去重分組操作

java8處理list集合去重分組操作

//分組統計重複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));