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


 

  •  实现目标

代码实现

 1 public class demoTest {
 2     List<Userz> userzList = Lists.list( new Userz("chen",10),
 3                                         new Userz("liu",9),
 4                                         new Userz("han",20));
 5 
 6     String searchName = "h";
 7     // 是否全部匹配,还是 局部包含匹配
 8     Boolean globalMatch = Boolean.FALSE;
 9     int pageNum = 1;  //获取当前页
10     int pageCount = 2; // 一页返回多少条
11 
12     @Test
13     public void search(){
14         List<Userz>  rUseres =    userzList.stream().filter(userz -> globalMatch?userz.getName().equals(searchName):
15                 userz.getName().contains(searchName)).
16                 sorted(Comparator.comparing(Userz::getAge)).// 按年纪升序 排序
17                 collect(Collectors.toList());
18         //一页 返回一条
19         List<Userz> pageList =   rUseres.stream().skip((pageNum-1)*pageCount).limit(pageCount).collect(Collectors.toList());
20         System.out.println("返回总条数:"+rUseres.size()+"当前页为:"+pageNum+"每页显示条数:"+pageCount);
21         System.out.println("本次返回的数据为:");
22         pageList.forEach(System.out::println);
23 
24     }
25 
26 
27 }
28 class Userz{
29 
30 
31     private String name;
32     private Integer age;
33 
34     public Userz(String name, Integer age) {
35         this.name = name;
36         this.age = age;
37     }
38 
39     public String getName() {
40         return name;
41     }
42 
43     public void setName(String name) {
44         this.name = name;
45     }
46 
47     public Integer getAge() {
48         return age;
49     }
50 
51     public void setAge(Integer age) {
52         this.age = age;
53     }
54 
55     @Override
56     public String toString() {
57         return "Userz{" +
58                 "name='" + name + '\'' +
59                 ", age=" + age +
60                 '}';
61     }
62 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM