1、List转换
List<String> departmentIdList = userList.stream().map(e -> e.getDepartmentId()).collect(Collectors.toList());
2、List转换并且转换为Set
Set<String> departmentIdSet = userList.stream().map(e -> e.getDepartmentId()).filter(e -> ValidateUtil.isNotNull(e)).collect(Collectors.toSet());
3、过滤
Set<String> departmentIdSet = userList.stream().map(e -> e.getDepartmentId()).filter(e -> ValidateUtil.isNotNull(e)).collect(Collectors.toSet());
4、List转换为Map
Map<String, String> deptMap = userDeptList.stream().collect(Collectors.toMap(e -> e.getDeptId(), e -> e.getDeptName()));
5、使用代码块进行转换
List<String> menuCodeList=menuFunctionList.stream().map(e->{
String menuCodeTemp=e.getMenuCode();
String menuCode = menuCodeTemp.substring(menuCodeTemp.lastIndexOf("_")+1);
return menuCode;
}).collect(Collectors.toList());
6、分组转换
//单一分组条件,根据code
Map<String, List<Student>> singleMap = studentList.stream().collect(Collectors.groupingBy(Student::getCode));
//组合分组条件 Map<String, List<Student>> complexMap = studentList.stream().collect(Collectors.groupingBy(e -> fetchGroupKey(e))); List<Student> studentList1 = complexMap.get("yangtao+1"); List<Student> studentList2 = complexMap.get("yangtao+2");
private static String fetchGroupKey(Student student){ return student.getUsername() +"+"+ student.getCode(); }