可健康食用的小工具类整理(长期更新)

实用工具类No.1 分页小工具

public class BeanPage {
    private int nowPage = 1;//当前页数,初值为1
    private int countPage;//单页的数据容量
    private ArrayList list;//数据集合
    private ArrayList pageList;//分页数据集合

    public BeanPage() {
    }

    public BeanPage(int countPage, ArrayList list) {
        this.countPage = countPage;
        this.list = list;
        /*此处确定了新的countPage,所有直接执行分页*/
        setPageList();
    }

    public int getNowPage() {
        return nowPage;
    }

    public void setNowPage(int nowPage) {
        this.nowPage = nowPage;
    }

    public int getCountPage() {
        return countPage;
    }

    public void setCountPage(int countPage) {
        this.countPage = countPage;
        /*此处一旦set新的countPage一定要重新分页,不然会按照之前的分页数据分页*/
        setPageList();
    }

    public ArrayList getList() {
        return list;
    }

    public void setList(ArrayList list) {
        this.list = list;
    }

    public ArrayList getPageList() {
        return pageList;
    }

    public void setPageList(ArrayList pageList) {
        this.pageList = pageList;
    }
    //取得数据集合的size
    public int getListSize(){
        return list.size();
    }
    //最大页数
    public int getMaxPage(){
        /*如果数据没有多余,那么最大页数即为数据size/每页数据容量,如果有多余,则要再前面的基础上加一*/
        return getListSize()%countPage==0?getListSize()/countPage:getListSize()/countPage+1;
    }
    public void setPageList(){
        pageList = new ArrayList();
        /**
         * 分页整理
         *          起始数据下标                  结束数据下标
         * 第i页      (nowPage-1)*countPage       nowPage*countPage-1
         *
         * */
        int maxIndex = getListSize()-1>nowPage*countPage-1?nowPage*countPage-1:getListSize();
        for (int i = (nowPage-1)*countPage; i < maxIndex; i++) {
            /*将对应数据一个一个加入分页集合*/
            pageList.add(list.get(i));
        }
    }

    public void lastPage(){
        if (nowPage>1){
            nowPage--;
            setPageList();
        }else{
            System.out.println("已经是第一页了");
        }
    }
    public void nextPage(){
        if (nowPage<getMaxPage()){
            nowPage++;
            setPageList();
        }else{
            System.out.println("已经是最后一页了");
        }
    }
}

对分页工具测试

public class TestBeanPage {
    public static void main(String[] args) {
        ArrayList list = new ArrayList();
        for (int i = 0; i < 30; i++) {
            list.add(i);
        }
        BeanPage beanPage = new BeanPage(8, list);
        System.out.println("当前页数:"+beanPage.getNowPage());
        System.out.println(beanPage.getPageList());
        beanPage.nextPage();
        System.out.println("当前页数:"+beanPage.getNowPage());
        System.out.println(beanPage.getPageList());
        beanPage.nextPage();
        System.out.println("当前页数:"+beanPage.getNowPage());
        System.out.println(beanPage.getPageList());
        beanPage.nextPage();
        System.out.println("当前页数:"+beanPage.getNowPage());
        System.out.println(beanPage.getPageList());
        beanPage.nextPage();
        System.out.println("当前页数:"+beanPage.getNowPage());
        System.out.println(beanPage.getPageList());
        beanPage.lastPage();
        System.out.println("当前页数:"+beanPage.getNowPage());
        System.out.println(beanPage.getPageList());
        beanPage.lastPage();
    }
}

结果为

当前页数:1
[0, 1, 2, 3, 4, 5, 6]
当前页数:2
[8, 9, 10, 11, 12, 13, 14]
当前页数:3
[16, 17, 18, 19, 20, 21, 22]
当前页数:4
[24, 25, 26, 27, 28, 29]
已经是最后一页了
当前页数:4
[24, 25, 26, 27, 28, 29]
当前页数:3
[16, 17, 18, 19, 20, 21, 22]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值