- 實現目標
代碼實現
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 }