• 一个简单的对任意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
  • 相关阅读:
    轻松学习之Linux教程二 一览纵山小:Linux操作系统具体解释
    SpringMVC经典系列-15对SpringMVC的总结---【LinusZhu】
    Testng 的数据源 驱动測试 代码与配置
    怎样统计分析CSDN博客流量
    python小知识点
    Javascript 笔记与总结(2-10)删除节点,创建节点
    C#6.0语言规范(十四) 枚举
    C#6.0语言规范(十三) 接口
    C#6.0语言规范(十二) 数组
    C#6.0语言规范(十一) 结构
  • 原文地址:https://www.cnblogs.com/zhuyan521/p/10315934.html
Copyright © 2020-2023  润新知