Java实现手动对list集合进行分页

一、创建分页类

package com.huakunwk.club.util;

/**

  • @author Lix@jchvip.com

  • @date 2018/6/6 14:53
    */
    public class Paging {
    private Integer totalNum;//总条数
    private Integer totalPage;//总页数
    private Integer pageSize;//每页条数
    private Integer pageIndex;//当前页码
    private Integer queryIndex;//当前页从第几条开始查

    public static Paging pagination(Integer totalNum,Integer pageSize,Integer pageIndex){
    Paging page = new Paging();
    page.setTotalNum(totalNum);
    Integer totalPage = totalNum % pageSize == 0 ? totalNum / pageSize : totalNum / pageSize + 1;
    page.setTotalPage(totalPage);
    page.setPageIndex(pageIndex + 1);
    page.setPageSize(pageSize);
    page.setQueryIndex(pageSize * pageIndex);
    return page;
    }

    public Integer getTotalNum() {
    return totalNum;
    }

    public void setTotalNum(Integer totalNum) {
    this.totalNum = totalNum;
    }

    public Integer getTotalPage() {
    return totalPage;
    }

    public void setTotalPage(Integer totalPage) {
    this.totalPage = totalPage;
    }

    public Integer getPageSize() {
    return pageSize;
    }

    public void setPageSize(Integer pageSize) {
    this.pageSize = pageSize;
    }

    public Integer getPageIndex() {
    return pageIndex;
    }

    public void setPageIndex(Integer pageIndex) {
    this.pageIndex = pageIndex;
    }

    public Integer getQueryIndex() {
    return queryIndex;
    }

    public void setQueryIndex(Integer queryIndex) {
    this.queryIndex = queryIndex;
    }
    }
    二、手动对集合进行分页:
    //手动对集合进行分页
    List clubs = clubMapper.searchByCondition();//从数据库查询的集合数据
    Paging paging = Paging.pagination(clubs.size(),pageSize,pageIndex);
    int fromIndex = paging.getQueryIndex();
    int toIndex = 0;
    if (fromIndex + paging.getPageSize() >= clubs.size()){
    toIndex = clubs.size();
    }else {
    toIndex = fromIndex + paging.getPageSize();
    }
    if (fromIndex > toIndex){
    return Collections.EMPTY_LIST;
    }
    return clubs.subList(fromIndex,toIndex);


作者:一个很酷的人
来源:CSDN
原文:https://blog.csdn.net/hi_boy_/article/details/80612310
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值