一个简单的对任意list分页的工具-----PageUtil

一、工具类代码

 1  1 import java.util.List;
 2  2 import java.util.stream.Collectors;
 3  3 
 4  4 public class PageUtil<T> {
 5  5     /**
 6  6      * 实体类列表
 7  7      */
 8  8     List<T> content;
 9  9     /**
10 10      * 是否首页
11 11      */
12 12     boolean first;
13 13     /**
14 14      * 是否尾页
15 15      */
16 16     boolean last;
17 17     /**
18 18      * 总记录数
19 19      */
20 20     Integer totalElements;
21 21     /**
22 22      * 总页数
23 23      */
24 24     Integer totalPages;
25 25 
26 26     Integer numberOfElements;
27 27     /**
28 28      * 每页记录数
29 29      */
30 30     Integer size;
31 31     /**
32 32      * 当前页
33 33      */
34 34     Integer number;
35 35 
36 36     @Override
37 37     public String toString() {
38 38         return "PageUtil{" +
39 39                 "content=" + content +
40 40                 ", first=" + first +
41 41                 ", last=" + last +
42 42                 ", totalElements=" + totalElements +
43 43                 ", totalPages=" + totalPages +
44 44                 ", numberOfElements=" + numberOfElements +
45 45                 ", size=" + size +
46 46                 ", number=" + number +
47 47                 '}';
48 48     }
49 49 
50 50     public List<T> getContent() {
51 51         return content;
52 52     }
53 53 
54 54     public boolean isFirst() {
55 55         return first;
56 56     }
57 57 
58 58     public boolean isLast() {
59 59         return last;
60 60     }
61 61 
62 62     public Integer getTotalElements() {
63 63         return totalElements;
64 64     }
65 65 
66 66     public Integer getTotalPages() {
67 67         return totalPages;
68 68     }
69 69 
70 70     public Integer getNumberOfElements() {
71 71         return numberOfElements;
72 72     }
73 73 
74 74     public Integer getSize() {
75 75         return size;
76 76     }
77 77 
78 78     public Integer getNumber() {
79 79         return number;
80 80     }
81 81 
82 82     public void pageUtil(Integer page, Integer size, List<T> list){
83 83         List<T> list1=list.stream ().skip (page*size).limit (size).collect(Collectors.toList());
84 84         int length=list.size ();
85 85         this.first=(page==0);//是否第一页
86 86         this.last= (page==(length-1)/size);//是否最后一页
87 87         this.totalPages =((length-1)/size+1);//总页数
88 88         this.totalElements= (length);//总elements
89 89         this.size= (size);//每页多少elements
90 90         this.content= (list1);//内容
91 91         this.numberOfElements =(list1.size ());//当前页elements
92 92         this.number= (page);//当前页数,第一页是0
93 93     }
94 94 }

二、测试

import java.util.Arrays;
import java.util.List;

public class PageTest {
    public static void main(String[] args) {
        int page=1;
        int size=5;
        List<String> stringList= Arrays.asList ("1","2","3","4","5","6","7","8","9","10","11","12","13","14");
        List<Integer> integerList=Arrays.asList (1,2,3,4,5,6,7,8,9,10,11,12,13,14);
        PageUtil<String> stringPageUtil=new PageUtil<> ();
        stringPageUtil.pageUtil (page,size,stringList);
        PageUtil<Integer> integerPageUtil=new PageUtil<> ();
        integerPageUtil.pageUtil (page,size,integerList);
        System.out.println (stringPageUtil);
        System.out.println ("==========================================");
        System.out.println (integerPageUtil);
    }
}

三、结果

PageUtil{content=[6, 7, 8, 9, 10], first=false, last=false, totalElements=14, totalPages=3, numberOfElements=5, size=5, number=1}
==========================================
PageUtil{content=[6, 7, 8, 9, 10], first=false, last=false, totalElements=14, totalPages=3, numberOfElements=5, size=5, numbe

转载于:https://www.cnblogs.com/zhuyan521/p/10315934.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值