zoukankan      html  css  js  c++  java
  • Lambda表达式使用整理

    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();
    }
  • 相关阅读:
    06-tree Shaking
    05-babel-解析高级js语法+polyfill按需注入
    Symbol.iterator
    回调
    finally
    then的参数
    通过简单例子看Promise(一)
    作为Promise构造函数参数的函数
    resolved和rejected
    resolve和reject
  • 原文地址:https://www.cnblogs.com/dancser/p/12560927.html
Copyright © 2011-2022 走看看