1.groupingBy
Map<String, List<FormDefinitionHis>> typeMap = formDefinitionHisList
.stream().collect(
Collectors.groupingBy(FormDefinitionHis::getFormTypeId)
);
2.map
Set<String> personIds = detailList.stream()
.map(DutySettingDetail::getPersonId).collect(Collectors.toSet());
3.sorted
List<Long> roleIds = roleList.stream()
.sorted(Comparator.comparingInt(DutyRole::getSort))
.map(BaseEntity::getId).collect(Collectors.toList());
roleList.stream().sorted(new Comparator<DutyRole>() {
@Override
public int compare(DutyRole o1, DutyRole o2) {
return 0;
}
});
4.filter
List<TenantDept> mChildren = allDepts.stream()
.filter(m -> m.getId.equals('1111111111111'))
.collect(Collectors.toList());
5.list转数组
List<Employee> employeeList = new ArrayList<>();
employeeList.add(new Employee(1000, "张三"));
employeeList.add(new Manager(1000, "李四"));
employeeList.stream().toArray(value -> new Employee[value])
6.分页查询
List<Employee> employeeList = new ArrayList<>();
employeeList.add(new Employee(1000, "张三"));
employeeList.add(new Manager(1000, "李四"));
employeeList.stream().skip((current - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
7.list转map
List<Employee> employeeList = new ArrayList<>();
employeeList.add(new Employee(1000, "张三"));
employeeList.add(new Manager(1000, "李四"));
employeeList.stream().collect(Collectors.toMap(Employee::getRealName, Employee::getSalary));