1、根据某一字段进行去重(分组)
List<Object> list = objectList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Object::getId))), ArrayList::new));
2、实体集合获取某一字段的合集中
List<Long> ids= objectList.stream().map(Object::getId).collect(Collectors.toList());
3、实体集合中的某一字段相加
BigDecimal addResut= objectList.stream().map(Object::getBigDecimal).reduce(BigDecimal.ZERO, BigDecimal::add);
//两束相减同理只需要修改add为subtract,那样我们就能得到加减乘除这些运算
BigDecimal subtract= objectList.stream().map(Object::getBigDecimal).reduce(BigDecimal.ZERO, BigDecimal::subtract);
4、实现排序(升序、降序、多字段排序)
//自然排序
list = list.stream().sorted().collect(Collectors.toList());
//根据年龄升序排序
list = list.stream().sorted(Comparator.comparing(Student::getAge)).collect(Collectors.toList());
//自然倒序
list = list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
//根据年龄自然倒序
list = list.stream().sorted(Comparator.comparing(Student::getAge).reversed()).collect(Collectors.toList());
//多字段排序
//先按姓名升序,姓名相同则按年龄升序
list = list.sorted(Comparator.comparing(Student::getName).thenComparing(Student::getAge)).collect(Collectors.toList());