美文网首页
利用java8 steam实现代码中模糊搜索以及分页实现

利用java8 steam实现代码中模糊搜索以及分页实现

作者: 当幸福来敲门_0705 | 来源:发表于2020-04-24 16:58 被阅读0次
  • 实现目标


    image.png

    朋友让实现在后台代码中实现模糊查询;

上代码

public class demoTest {
    List<Userz> userzList = Lists.list( new Userz("chen",10),
                                        new Userz("liu",9),
                                        new Userz("han",20));

    String searchName = "h";
    // 是否全部匹配,还是 局部包含匹配
    Boolean globalMatch = Boolean.FALSE;
    int pageNum = 1;  //获取当前页
    int pageCount = 2; // 一页返回多少条

    @Test
    public void search(){
        List<Userz>  rUseres =    userzList.stream().filter(userz -> globalMatch?userz.getName().equals(searchName):
                userz.getName().contains(searchName)).
                sorted(Comparator.comparing(Userz::getAge)).// 按年纪升序 排序
                collect(Collectors.toList());
        //一页 返回一条
        List<Userz> pageList =   rUseres.stream().skip((pageNum-1)*pageCount).limit(pageCount).collect(Collectors.toList());
        System.out.println("返回总条数:"+rUseres.size()+"当前页为:"+pageNum+"每页显示条数:"+pageCount);
        System.out.println("本次返回的数据为:");
        pageList.forEach(System.out::println);

    }


}
class Userz{


    private String name;
    private Integer age;

    public Userz(String name, Integer age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Userz{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

相关文章

网友评论

      本文标题:利用java8 steam实现代码中模糊搜索以及分页实现

      本文链接:https://www.haomeiwen.com/subject/psofwhtx.html