• 使用 java stream 获取两个集合之间的交集.差集


    原始对象

      List<HrProbationMainPO> hrProbationMainList =new    ArrayList<HrProbationMainPO>();
      List<HrProbationMain> hrProbationMains = probationMainDao.findAll();
    

    获取交集对象

    • stream 转换成流 (只有变成流才能操作)
    • filter 封装判断条件(如果true 则收集到结果中,false则不收集)
    • collect 收集结果返回到指定类型中

    //交集对象
    List hrProbationMainPOS = hrProbationMainList.stream().filter(obj -> find(obj.getEmpNumber(), hrProbationMains)).collect(Collectors.toList());

     /**
         * 封装
         * @param empNumber
         * @param list
         * @return
         */
        public Boolean find(String empNumber, List<HrProbationMain> list) {
            for (int i = 0; i < list.size(); i++) {
                if (list.get(i).getEmpNumber() .equals(empNumber)) {
                    System.out.println(list.get(i).getEmpNumber() +"---"+empNumber+"/r/n");
                    return true;
                }
            }
            return false;
        }
    

    获取set类型

      Set<String> mainSet = hrProbationMains.stream().map(HrProbationMain::getEmpNumber).collect(Collectors.toSet());
    
  • 相关阅读:
    老杳:2017年中国集成电路产业十大新闻
    RMA退货流程解决方案
    Linux
    vue.js
    NET Core度身定制的AOP框架
    Timeline
    HTTP
    MVC 常用扩展点:过滤器、模型绑定等
    装箱拆箱
    jQuery Tree
  • 原文地址:https://www.cnblogs.com/vawa/p/14193412.html
Copyright © 2020-2023  润新知