- 实现目标
代码实现
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 }