使用 java stream 獲取兩個集合之間的交集.差集
阿新 • • 發佈:2020-12-26
原始物件
List<HrProbationMainPO> hrProbationMainList =new ArrayList<HrProbationMainPO>();
List<HrProbationMain> hrProbationMains = probationMainDao.findAll();
獲取交集物件
- stream 轉換成流 (只有變成流才能操作)
- filter 封裝判斷條件(如果true 則收集到結果中,false則不收集)
- collect 收集結果返回到指定型別中
//交集物件
List
/** * 封裝 * @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());