1、将list根据某个字段分组,生成Map
Map<Integer, List<Example>> map = list.stream().collect(Collectors.groupingBy(Example::getAge));
2、筛选出list中字段符合要求的数据,生成list
List<Example> voList = list.stream()
.filter(example-> example.getSchool().contains("大学")
&& StringUtils.isNotBlank(example.getName())?example.getName().contains("王"):
(example.getArea().contains("中国") || example.getAddress().contains("小区"))).collect(Collectors.toList());
3、提取出list中实体类的某个字段,生成list
List<String> codeList = list.stream().map(Example::getName).collect(Collectors.toList());
4、取出两个list中不同的数据
List<Example> collect = voList.stream().filter(vo -> codeList.stream().noneMatch(code -> vo.getName().equals(code))).collect(Collectors.toList());
文章评论