zoukankan      html  css  js  c++  java
  • Java 列表分页

    import lombok.Data;
    
    import java.io.Serializable;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    
    @Data
    public class PageUtils implements Serializable {
        private static final long serialVersionUID = 1L;
        /**
         * 总记录数
         */
        private int totalCount;
        /**
         * 每页记录数
         */
        private int pageSize;
        /**
         * 总页数
         */
        private int totalPage;
        /**
         * 当前页数
         */
        private int currPage;
        /**
         * 列表数据
         */
        private List<?> list;
    
        /**
         * 分页
         * @param list        列表数据
         * @param totalCount  总记录数
         * @param pageSize    每页记录数
         * @param currPage    当前页数
         */
        public PageUtils(List<?> list, int totalCount, int pageSize, int currPage) {
            this.list = list;
            this.totalCount = totalCount;
            this.pageSize = pageSize;
            this.currPage = currPage;
            this.totalPage = (int)Math.ceil((double)totalCount/pageSize);
        }
    
        // 列表直接分页
        public  static  List<Map<String, Object>> pageBySubList(List list, int pagesize, int currentPage) {
            int totalcount = list.size();
            int pagecount = 0;
            List<Map<String, Object>>  subList=new ArrayList<>();
            int m = totalcount % pagesize;
            if (m > 0) {
                pagecount = totalcount / pagesize + 1;
            } else {
                pagecount = totalcount / pagesize;
            }
            if(((currentPage - 1) * pagesize )>=totalcount){
                return subList;
            }
            if (m == 0) {
                subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage) > totalcount ? totalcount-1 : pagesize * (currentPage));
            } else {
                if (currentPage == pagecount) {
                    subList = list.subList((currentPage - 1) * pagesize, totalcount);
                } else {
                    subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage) > totalcount ? totalcount-1 : pagesize * (currentPage));
                }
            }
            return subList;
        }
    
    }

    mikuriya,偶遇良缘。

  • 相关阅读:
    解决input获取焦点时底部菜单被顶上来问题
    JavaScript学习笔记
    JavaScript表单验证
    js 中{},[]中括号,大括号使用详解
    陀飞轮
    娱乐天空
    左右手
    软测 学习
    git 学习
    spring boot 学习
  • 原文地址:https://www.cnblogs.com/mikuriya/p/14447683.html
Copyright © 2011-2022 走看看