zoukankan      html  css  js  c++  java
  • java后端内存分页

    /**
     * @currPageNo  页面传入的页号,从一开始
     * @pageSize    每页记录数
     */
    public <T> Map<String, Object> getPagingResultMap(List<T> list, Integer currPageNo, Integer pageSize) {
        Map<String, Object> retMap = new HashMap<>();

        if (list.isEmpty()) {
            retMap.put("result", Collections.emptyList());
            retMap.put("pageNo", 0);
            retMap.put("pageRowNum", 0);
            retMap.put("totalRowNum", 0);
            retMap.put("totalPageNum", 0);

            return retMap;
        }

        int totalRowNum = list.size();
        int totalPageNum = (totalRowNum - 1) / pageSize + 1;

        int realPageNo = currPageNo;
        if (currPageNo > totalPageNum) {
            realPageNo = totalPageNum;
        } else if (currPageNo < 1) {
            realPageNo = 1;
        }

        int fromIdx = (realPageNo - 1) * pageSize;
        int toIdx = realPageNo * pageSize + 1;
        
        if (realPageNo == totalPageNum && totalPageNum * pageSize > totalRowNum) {
            toIdx = totalRowNum + 1;
        }
        
        List<T> result = list.subList(fromIdx, toIdx);

        retMap.put("result", result);
        retMap.put("pageNo", realPageNo);
        retMap.put("pageRowNum", result.size());
        retMap.put("totalRowNum", totalRowNum);
        retMap.put("totalPageNum", totalPageNum);

        return retMap;
    }
    ---------------------
    作者:netyeaxi
    来源:CSDN
    原文:https://blog.csdn.net/netyeaxi/article/details/78866370
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    初探diskstats
    JVM参数简述
    304 Not Modified 简述
    vmstat命令
    iostat 工具分析I/O性能
    git添加公钥后报错sign_and_send_pubkey: signing failed: agent refused operation
    Mysql ibdata1简述
    Mysql 事务日志(Ib_logfile)
    django项目一:基于django2.2可重用登录与注册模块-前端页面配置
    django项目一:基于django2.2可重用登录与注册模块-url路由和视图
  • 原文地址:https://www.cnblogs.com/zjj078/p/11056865.html
Copyright © 2011-2022 走看看