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();
}
posted on 2020-03-24 19:00  dancser  阅读(271)  评论(0编辑  收藏  举报