zoukankan      html  css  js  c++  java
  • Java-List分页工具

    package util;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class Paging {
        List<?> list;
        int pageCount;
    
        public Paging() {
    
        }
    
        /**
         * 初始化
         * 
         * @param list
         *            数据库查询到的数据集合
         * @param pageCount
         *            每页显示的记录条数
         */
        public Paging(List<?> list, int pageCount) {
            this.list = list;
            this.pageCount = pageCount;
        }
    
        /**
         * 返回当前页的记录集合
         * 
         * @param nowPage
         *            当前页
         * @return 当前页的List集合(页数从0开始)
         */
        @SuppressWarnings("unchecked")
        public List<Object> getPaging(int nowPage) {
            // 总记录条数
            int count = list.size();
            // 分页集合
            List<Object> list = new ArrayList<Object>();
            for (int i = 0; i < count; i += pageCount) {
                List<Object> temp = new ArrayList<Object>();
                if ((count - i) >= pageCount) {
                    for (int j = 0; j < pageCount; j++) {
                        temp.add(this.list.get(i + j));
                    }
                } else {
                    for (int j = 0; j < count - i; j++) {
                        temp.add(this.list.get(i + j));
                    }
                }
                list.add(temp);
            }
            // 返回当前页
            return (List<Object>) list.get(nowPage);
        }
    
        public int getPageNum() {
            // 总记录条数
            int count = list.size();
            // 分页数
            int pageNum = count / pageCount;
            if (count % pageCount != 0) {
                pageNum += 1;
            }
            return pageNum;
        }
    }
    

    测试:

    public class Mian {
    
        public static void main(String[] args) {
    
            List<String> list = new ArrayList<String>();
            list.add("1");
            list.add("2");
            list.add("3");
            list.add("4");
            list.add("5");
            list.add("6");
            list.add("7");
            list.add("8");
            list.add("9");
            list.add("10");
            Paging page = new Paging(list,4);
            System.out.println(page.getPaging(1));
        }
    }//结果[5, 6, 7, 8]
  • 相关阅读:
    数据库ACID
    tcp ip detatils
    process vs thread
    C++ virtual descructor
    static_cast dynamic_cast const_cast reinterpret_cast总结对比
    Meta Programming
    C++ traits
    c++内存管理
    洛谷 P4136 谁能赢呢?
    洛谷 P1166 打保龄球
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286799.html
Copyright © 2011-2022 走看看