分组
classEntities.stream().collect(Collectors.groupingBy(ClassEntity::getGrade));
去重(Java8)
List<ClassEntity> distinctClass = classEntities.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getProfessionId() + ";" + o.getGrade()))), ArrayList::new));
通过hashSet去重-该种去重是bean完全相同的时候算重复数据
List<String> classNameList = new ArrayList(new HashSet(classNames));
集合内某个字符串拼接
1.String封装类
String join = String.join("拼接字符", 集合名称);
2.strem
String str = 集合名称.stream().collect(Collectors.joining("拼接字符"))
集合内提取字段并创建新集合
1.strem + landom
List<String> 新集合 = 集合名称.stream().map(map->map.get("提取字段")).collect(Collectors.toList());
2.strem
List<String> 新集合 = 集合名称.stream().map(map::get提取字段).collect(Collectors.toList());
对list 类型的进行操作
1. 交集
List<String> intersection = list1.stream().filter(item -> list2.contains(item)).collect(Collectors.toList());
2.差集 (list1 - list2)
List<String> reduce1 = list1.stream().filter(item -> !list2.contains(item)).collect(Collectors.toList());
3. 差集 (list2 - list1)
List<String> reduce2 = list2.stream().filter(item -> !list1.contains(item)).collect(Collectors.toList());
4.并集
list1.addAll(list2);
5.去重并集
List<String> listAllDistinct = list1.stream().distinct().collect(Collectors.toList());