使用JAVA8 filter对List多条件筛选

记录项目开发的过程中遇到的一些问题及解决方法,由于公司操作数据库都是统一使用工具生成的存在一些多表查询模糊查询,这些操作只能在集合方面下手了,比如发送邮件记录方面查询,对用户的名字及邮件模糊检索 年龄匹配查询。

1.创建实体类:

2.初始化数据

3.对数据进行模糊检索操作

4.多个年龄匹配

模糊检索代码

  1.  
    List<user> filter= users.stream()
  2.  
    .filter(user -> user.getName().indexOf("月") > -1 || user.getEmail().indexOf("mu") > -1)
  3.  
    .collect(Collectors.toList());
  4.  
    collect.stream().forEach(user -> {
  5.  
    System.out.println(user.getName()+"======"+user.getEmail());
  6.  
    });

多个年龄匹配代码

  1.  
    List<Integer> ages=new ArrayList<>();
  2.  
    ages.add(20);
  3.  
    ages.add(30);
  4.  
    List<user> filterAges = users.stream().filter(user->ages.contains(user.getAge())).collect(Collectors.toList());
  5.  
    filterAges.stream().forEach(user -> {
  6.  
    System.out.println(user.getName()+"======"+user.getEmail());
  7.  
    });

 

posted @ 2020-08-15 12:03  野狼谷  阅读(9229)  评论(0编辑  收藏  举报