我是靠谱客的博主 漂亮万宝路,最近开发中收集的这篇文章主要介绍2021-08-04Java对list进行分页,subList()方法实现分页Java对list进行分页,subList()方法实现分页在项目中的用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Java对list进行分页,subList()方法实现分页

/**
 * 自定义List分页工具
 *
 * @author ellen
 * @version 1.0
 * @date 2019/1/11
 */
public class PageUtil {
 
    /**
     * 开始分页
     *
     * @param list
     * @param pageNum  页码
     * @param pageSize 每页多少条数据
     * @return
     */
    public static List startPage(List list, Integer pageNum, Integer pageSize) {
        if(list == null){
            return null;
        }
        if(list.size() == 0){
            return null;
        }
 
        Integer count = list.size(); //记录总数
        Integer pageCount = 0; //页数
        if (count % pageSize == 0) {
            pageCount = count / pageSize;
        } else {
            pageCount = count / pageSize + 1;
        }
 
        int fromIndex = 0; //开始索引
        int toIndex = 0; //结束索引
 
        if(pageNum > pageCount){
            pageNum = pageCount;
        }
        if (!pageNum.equals(pageCount)) {
            fromIndex = (pageNum - 1) * pageSize;
            toIndex = fromIndex + pageSize;
        } else {
            fromIndex = (pageNum - 1) * pageSize;
            toIndex = count;
        }
 
        List pageList = list.subList(fromIndex, toIndex);
 
        return pageList;
    }
 
}

在项目中的用法

从数据库中查出的数据集合:noGroup
List<Students> noGroup = studentsService.queryStudentNotInGroup(campusId, phone);
调用工具类的方法:
List<Students> page = PageUtil.startPage(noGroup,pageNum,pageSize);
总条数:
Integer count = noGroup.size();
总页码:
Integer totalPage = count % 10 == 0 ? count / 10 : count / 10 + 1;
map.put("totalPage", totalPage);
map.put("page", page);

已测试有效,希望可以帮到各位

**修改一下 :数据过多的话, if (pageNum != pageCount) 该行判断会报错,测试将!=修改为!equals---------> if (!pageNum.equals(pageCount)) **

修改:如果传入的页码大于总页码的话,会报错空指针异常,所以添加一个判断:
if (pageNum > pageCount){
return null;
}

注意:这种分页工具类只适用于少数据,对于上百万的数据,响应的时间就很长了,原因是对于集合先查出了所有的数据,然后再对所有的数据进行分页,如果上百万的数据的话,查询需要时间,所以响应很慢,更好的方法还在琢磨中,如您有更好的方法,麻烦提供一下
————————————————
版权声明:本文为CSDN博主「weixin_44021888」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44021888/article/details/102715680

最后

以上就是漂亮万宝路为你收集整理的2021-08-04Java对list进行分页,subList()方法实现分页Java对list进行分页,subList()方法实现分页在项目中的用法的全部内容,希望文章能够帮你解决2021-08-04Java对list进行分页,subList()方法实现分页Java对list进行分页,subList()方法实现分页在项目中的用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部