【Java】使用【sublist】方法实现分页
背景:
根据业务需求,将数据提供给前端时需要实现分页,但由于数据是调用第三方服务查询出来的,并没有实现分页,因此后端需要实现分页后在将数据提供给前端
各种百度后发现了list中的sublist方法,可方便的实现该需求,特此记录(PS:代码是网上找的,亲测可用)
实现:
/*** list集合工具类*/
public class ListUtils {/**** @param pageSize 当前页面大小* @param pageIndex 当前页码* @param list 需要分页的集合* @return 当前展示页内容*/public static<T> List<T> Pager(int pageSize, int pageIndex, List<T> list){//使用list 中的sublist方法分页List<T> dataList = new ArrayList<>();// 每页显示多少条记录int currentPage; //当前第几页数据// 一共多少条记录int totalRecord = list.size();// 一共多少页int totalPage = totalRecord % pageSize;if (totalPage > 0) {totalPage = totalRecord / pageSize + 1;} else {totalPage = totalRecord / pageSize;}System.out.println("总页数:" + totalPage);// 当前第几页数据currentPage = totalPage < pageIndex ? totalPage : pageIndex;// 起始索引int fromIndex = pageSize * (currentPage - 1);// 结束索引int toIndex = pageSize * currentPage > totalRecord ? totalRecord : pageSize * currentPage;try{dataList = list.subList(fromIndex, toIndex);}catch(IndexOutOfBoundsException e){e.printStackTrace();}return dataList;}/*** @description 获取当前页数* @method getCurrentPage* @param pageSize* @param pageIndex* @param list* @return int*/public static<T> int getCurrentPage(int pageSize, int pageIndex, List<T> list){//使用list 中的sublist方法分页List<T> dataList = new ArrayList<>();// 每页显示多少条记录int currentPage; //当前第几页数据// 一共多少条记录int totalRecord = list.size();// 一共多少页int totalPage = totalRecord % pageSize;if (totalPage > 0) {totalPage = totalRecord / pageSize + 1;} else {totalPage = totalRecord / pageSize;}System.out.println("总页数:" + totalPage);// 当前第几页数据currentPage = totalPage < pageIndex ? totalPage : pageIndex;return currentPage;}
}
弊端:
必须将所有的数据查询出来放到list中,这会导致数据越多查询速度越慢,所以可以改为数据库分页的最好可用用数据库分页的方式。
【Java】使用【sublist】方法实现分页相关推荐
- Java SubList 类 Java subList方法 Java ArrayList$SubList 方法特点 SubList 用法
Java SubList 类 Java subList方法 Java ArrayList$SubList 方法特点 SubList 用法 一.概述 在java集合中,常用ArrayList类中,若需要 ...
- java List.subList方法中的超级大陷阱
java List.subList方法中的超级大陷阱 2012-06-26 10:13:18| 分类: java 基础知识 | 标签:java集合使用 java基础 |举报|字号 订阅 下载L ...
- java list sublist方法_(转)Java 中 List.subList() 方法的使用陷阱
原文:http://blog.csdn.net/cleverGump/article/details/51105235 前言 本文原先发表在我的 iteye博客: http://clevergump. ...
- java list sublist方法_聊聊ArrayList中的subList方法
开发过程中遇到的坑 开发过程经常会使用subList做分页处理. 比如下面的代码 while(pageIndex < maxSize) { List temp = userIds.subList ...
- java list 截取部分数据_Java List.subList()方法:获取列表中指定范围的子列表
集合类中的 List.subList() 方法用于获取列表中指定范围的子列表,该列表支持原列表所支持的所有可选操作.返回列表中指定范围的子列表. 语法: subList(int fromIndex,i ...
- List中subList方法抛出异常java.util.ConcurrentModificationException原理分析
1.首先从测试代码开始: public class Test {public static void main(String[] args) {List<Integer> list = n ...
- Java中的subList方法
Java中的subList方法 今天看到了java中List中有个subList的方法,感觉很熟悉有没有?没错,在Stirng类中,也有个类似的方法:subString. Stirng中的subStr ...
- java oracle的2种分页方法
java oracle的2种分页方法 一物理分页: <!-- 分页查询所有的博客信息 --><select id="findBlogs" resultType=& ...
- java ArrayList中的subList方法
2019独角兽企业重金招聘Python工程师标准>>> 本文是本人的学习笔记,把自己的理解总结记录下来.因本人水平有限,如果您在阅读中发现错误,还望谅解,并且希望能够告知本人改正,不 ...
最新文章
- python多线程和多进程的使用_python多线程与多进程
- js 时间戳转为时间
- C语言学习9(循环结构:while语句)
- 【数据结构与算法】之容器盛最多水的算法实现
- 【iVX 初级工程师培训教程 10篇文拿证】06 数据库及服务
- ubuntu16.04下安装ibus拼音
- Android与服务器通信之socket通信
- Java 蓝桥杯 判断闰年
- 妈蛋:kinMaxShow旋转木马异常,WebUploader图片上传坑爹,图像被压缩
- springcloud工作笔记096---springboot集成多线程_高并发_集成线程池的使用
- 正弦函数_傅里叶为什么会想到把函数展开为正弦波
- SqlServer Alwayson 搭建报错:19405
- java 本地文件上传到服务器,java本地文件上传到远程服务器
- 魔兽世界插件开发-暴雪插件源代码
- python 定时发送微信,利用python在微信中实现一个定时发送消息的功能
- 5G消息RCS、chatboot
- css空心图形,css画空心箭头
- gdc服务器硬盘修复,GDC硬盘检测、阵列新建和修复.pptx
- android fuse 检测原理,fuse 原理总结
- idea 模块jdk依赖总是自动变为jdk1.5
热门文章
- 利用Python写个猜字游戏
- 风雨飘摇中的三大运营商
- 绝对逃生游戏的计算机要求,绝地求生需要什么配置 绝地求生电脑配置详解
- C++的一些冷门知识
- QT软件开发-基于FFMPEG设计视频播放器-GPU硬解、OpenGL渲染、解码音频完整例子(六)
- 老板,这里有一份“微信报表”报告请注意查收
- 影响服务器租用费用的因素有哪些?
- 2023vue面试题
- python爬虫教程:Python写网络爬虫的优势和理由
- 长虹电视机android 4.0,长虹3013智能电视A7000 B5000 安卓4.0升级包