我是靠谱客的博主 漂亮万宝路,最近开发中收集的这篇文章主要介绍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()方法实现分页在项目中的用法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复