这个表达式到处用的越来越多,不得已,学一下
/** * @author : 陈惟鲜 * @Date : 2021年1月25日 下午4:46:38 * @param args */ public static void main(String[] args) { List<MyObj> results = new ArrayList<MyObj>(); results.add(new MyObj("11", "张1", 11)); results.add(new MyObj("22", "张2", 22)); results.add(new MyObj("33", "张3", 33)); results.add(new MyObj("44", "张4", 44)); List<String> strs = Arrays.asList("11","22"); strs.forEach(System.out::println); System.out.println(JSON.toJSON(strs)); // 对象转换输出 List<UserGroup> userGroups = results.stream().filter(myObj-> { return myObj.getAge()>20; }).map(myObj ->{ UserGroup userGroup = new UserGroup(); userGroup.setGroupId(myObj.getId()); userGroup.setGroupName(myObj.getName()); return userGroup; }).collect(Collectors.toList()); System.out.println("对象转换输出: " + JSON.toJSON(userGroups)); // 循环嵌套输出 List<MyObj> rets = new ArrayList<>(); results.stream().forEach(myObj->{ strs.stream().forEach(str -> { if (str.equals(myObj.getId())) { rets.add(myObj); } }); }); System.out.println("对象转换输出: " + JSON.toJSON(rets)); }
输出结果:
11 22 ["11","22"] 对象转换输出: [{"groupName":"张2","groupId":"22"},{"groupName":"张3","groupId":"33"},{"groupName":"张4","groupId":"44"}] 对象转换输出: [{"name":"张1","id":"11","age":11},{"name":"张2","id":"22","age":22}]