List<Object> list = new ArrayList<>();
list.add(object1);
list.add(object2);
list.add(object3);
........;
Map<Long, List<Object>> map = list.stream().collect(Collectors.groupingBy(Object::get属性名));
按照某个字段排序
List<Object> list = new ArrayList<>();
list.add(object1);
list.add(object2);
list.add(object3);
........;
正序
list = list.stream().sorted(Comparator.comparing(Object::get属性名)).collect(Collectors.toList());
反序
list = list.stream().sorted(Comparator.comparing(Object::get属性名).reversed()).collect(Collectors.toList());
取某个字段集合
List<Object> list = new ArrayList<>();
list.add(object1);
list.add(object2);
list.add(object3);
........;
List<Long> list2 = list.stream().map(Object::get属性名).collect(Collectors.toList());
过滤某个条件取某个字段集合
List<Object> list = new ArrayList<>();
list.add(object1);
list.add(object2);
list.add(object3);
........;
List<Long> ids = list.stream().filter(object -> object.get属性名() == 条件值).map(Object::get属性名).collect(Collectors.toList());
List<Object> list = new ArrayList<>();
list.add(object1);
list.add(object2);
list.add(object3);
........;
//假如对象集合中对象有一个phoneNum的字段,按照phoneNum去重
list = list.stream().collect(
Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Object::getPhoneNum))), ArrayList::new));