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]
posted @ 2017-07-13 12:04  SEC.VIP_网络安全服务  阅读(187)  评论(0编辑  收藏  举报