java对list<Object>进行手动分页实现
更新时间:2022年07月26日 10:38:27 作者:枯枫叶
本文主要介绍了java对list<Object>进行手动分页实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
该方法使用的jdk1.6以后自带的分页工具类实现
public static void main(String[] args) { ArrayList list = new ArrayList<>(); list.add("Luo"); list.add("Tian"); list.add("yan"); list.add("23"); list.add("elegant"); list.add("optimistic"); list.add("mysterious"); System.out.println("分页前数据:"+list); //分页之后 PageInfo pageInfo = getPageInfo(2, 2, list); System.out.println("总大小:"+pageInfo.getTotal()); System.out.println("当前页:"+pageInfo.getPageNum()); System.out.println("当前页大小:"+pageInfo.getPageSize()); System.out.println("当前页数据:"+pageInfo.getList()); } public static <T> PageInfo<T> getPageInfo(int currentPage, int pageSize, List<T> list) { int total = list.size(); if (total > pageSize) { int toIndex = pageSize * currentPage; if (toIndex > total) { toIndex = total; } int totalPage = total % pageSize == 0 ? (total/pageSize) : (total/pageSize)+1; if (totalPage < currentPage){ list = new ArrayList<>(); }else { list = list.subList(pageSize * (currentPage - 1), toIndex); } } Page<T> page = new Page<>(currentPage, pageSize); page.addAll(list); page.setPages((total + pageSize - 1) / pageSize); page.setTotal(total); return new PageInfo<>(page); }
效果
到此这篇关于java对list<Object>进行手动分页实现的文章就介绍到这了,更多相关java list<Object>手动分页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
fasterxml jackson反序列化时对于非静态内部类报错问题及解决
这篇文章主要介绍了fasterxml jackson反序列化时对于非静态内部类报错问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-08-08深入理解Mybatis中的resultType和resultMap
这篇文章给大家介绍了mybatis中的resultType和resultMap的用法实例讲解,MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,至于两种用法区别,通过本文一起学习吧2016-09-09spring boot 日志/页面处理、实体类构建、后台管理功能的实现
这篇文章主要介绍了spring boot 日志/页面处理、实体类构建、后台管理功能的实现,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-08-08
最新评论