博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java分页方法总结
阅读量:5937 次
发布时间:2019-06-19

本文共 1652 字,大约阅读时间需要 5 分钟。

hot3.png

分页方法定义: public  static List<List<User>> splitList(List<User> list, int pageSize) {

        int listSize = list.size();
        int page = (listSize + (pageSize - 1)) / pageSize;
        List<List<User>>listArray = new ArrayList<List<User>>();
        for (int i = 0; i<page; i++) {
            List subList = new ArrayList();
            for (int j = 0; j<listSize; j++) {
                int pageIndex = ((j + 1) + (pageSize - 1)) / pageSize;
                if ( pageIndex == (i + 1)) {
                    subList.add(list.get(j));
                }
                if ((j + 1) == ((j + 1) * pageSize)) {
                    break;
                }
            }
            listArray.add(subList);
        }
        return listArray;
    }

List<List<User>>  usersize=  splitList(userlist,3);

    for (int i = 0; i < usersize.size(); i++) {
        List<User> userlists=usersize.get(i);
        System.out.println("序号"+i+"--"+userlists.toString());

}

打印结果:

序号0--[User [uid=0, uname=lsm0], User [uid=1, uname=lsm1], User [uid=2uname=lsm2]]

序号1--[User [uid=3, uname=lsm3], User [uid=4, uname=lsm4], User [uid=5, uname=lsm5]]
序号2--[User [uid=6, uname=lsm6], User [uid=7, uname=lsm7], User [uid=8, uname=lsm8]]
序号3--[User [uid=9, uname=lsm9]]

pageSize是定义每页存多少个 ,list是查询数据的集合

集合分子集合方法汇总:

public static <T> List<List<T>> avgAssignLst(List<T> source, int lstNum) {

        List<List<T>> result = new ArrayList<List<T>>(lstNum + 1);
        int remaider = source.size() % lstNum; // (先计算出余数)
        int number = source.size() / lstNum; // 然后是商
        int offset = 0;// 偏移量
        
        List<T> subLst;
        for (int i = 0; i < lstNum; i++) {
            subLst = null;
            if (remaider > 0) {
                subLst = source.subList(i * number + offset, (i + 1) * number + offset + 1);
                remaider--;
                offset++;
            } else {
                subLst = source.subList(i * number + offset, (i + 1) * number + offset);
            }
            result.add(subLst);
        }
        return result;
    }

 

 

转载于:https://my.oschina.net/lsm97103/blog/1568112

你可能感兴趣的文章
使用 GPUImage 实现一个简单相机
查看>>
CoinWhiteBook:区块链在慈善事业中的应用
查看>>
【二】express
查看>>
Mac上基于Github搭建Hexo博客
查看>>
What does corn harvester involve?
查看>>
阿里云服务器ECS开放8080端口
查看>>
前端常用排序详解
查看>>
Spring中实现监听的方法
查看>>
使用Tooltip会出现一个问题,如果行上出现复选框
查看>>
11.03T1 DP
查看>>
P2924 [USACO08DEC]大栅栏Largest Fence
查看>>
jQuery操作table tr td
查看>>
工作总结:MFC自写排序算法(升序)
查看>>
螺旋队列问题之二
查看>>
扩展运算符和解构赋值的理解
查看>>
后缀数组(suffix array)详解
查看>>
手机H5显示一像素的细线
查看>>
Menu 菜单栏
查看>>
Integer跟int的区别(备份回忆)
查看>>
集合解析
查看>>