背景:

根据业务需求,将数据提供给前端时需要实现分页,但由于数据是调用第三方服务查询出来的,并没有实现分页,因此后端需要实现分页后在将数据提供给前端
各种百度后发现了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】方法实现分页相关推荐

  1. Java SubList 类 Java subList方法 Java ArrayList$SubList 方法特点 SubList 用法

    Java SubList 类 Java subList方法 Java ArrayList$SubList 方法特点 SubList 用法 一.概述 在java集合中,常用ArrayList类中,若需要 ...

  2. java List.subList方法中的超级大陷阱

    java List.subList方法中的超级大陷阱 2012-06-26 10:13:18|  分类: java 基础知识 |  标签:java集合使用  java基础  |举报|字号 订阅 下载L ...

  3. java list sublist方法_(转)Java 中 List.subList() 方法的使用陷阱

    原文:http://blog.csdn.net/cleverGump/article/details/51105235 前言 本文原先发表在我的 iteye博客: http://clevergump. ...

  4. java list sublist方法_聊聊ArrayList中的subList方法

    开发过程中遇到的坑 开发过程经常会使用subList做分页处理. 比如下面的代码 while(pageIndex < maxSize) { List temp = userIds.subList ...

  5. java list 截取部分数据_Java List.subList()方法:获取列表中指定范围的子列表

    集合类中的 List.subList() 方法用于获取列表中指定范围的子列表,该列表支持原列表所支持的所有可选操作.返回列表中指定范围的子列表. 语法: subList(int fromIndex,i ...

  6. List中subList方法抛出异常java.util.ConcurrentModificationException原理分析

    1.首先从测试代码开始: public class Test {public static void main(String[] args) {List<Integer> list = n ...

  7. Java中的subList方法

    Java中的subList方法 今天看到了java中List中有个subList的方法,感觉很熟悉有没有?没错,在Stirng类中,也有个类似的方法:subString. Stirng中的subStr ...

  8. java oracle的2种分页方法

    java oracle的2种分页方法 一物理分页: <!-- 分页查询所有的博客信息 --><select id="findBlogs" resultType=& ...

  9. java ArrayList中的subList方法

    2019独角兽企业重金招聘Python工程师标准>>> 本文是本人的学习笔记,把自己的理解总结记录下来.因本人水平有限,如果您在阅读中发现错误,还望谅解,并且希望能够告知本人改正,不 ...

最新文章

  1. python多线程和多进程的使用_python多线程与多进程
  2. js 时间戳转为时间
  3. C语言学习9(循环结构:while语句)
  4. 【数据结构与算法】之容器盛最多水的算法实现
  5. 【iVX 初级工程师培训教程 10篇文拿证】06 数据库及服务
  6. ubuntu16.04下安装ibus拼音
  7. Android与服务器通信之socket通信
  8. Java 蓝桥杯 判断闰年
  9. 妈蛋:kinMaxShow旋转木马异常,WebUploader图片上传坑爹,图像被压缩
  10. springcloud工作笔记096---springboot集成多线程_高并发_集成线程池的使用
  11. 正弦函数_傅里叶为什么会想到把函数展开为正弦波
  12. SqlServer Alwayson 搭建报错:19405
  13. java 本地文件上传到服务器,java本地文件上传到远程服务器
  14. 魔兽世界插件开发-暴雪插件源代码
  15. python 定时发送微信,利用python在微信中实现一个定时发送消息的功能
  16. 5G消息RCS、chatboot
  17. css空心图形,css画空心箭头
  18. gdc服务器硬盘修复,GDC硬盘检测、阵列新建和修复.pptx
  19. android fuse 检测原理,fuse 原理总结
  20. idea 模块jdk依赖总是自动变为jdk1.5

热门文章

  1. 利用Python写个猜字游戏
  2. 风雨飘摇中的三大运营商
  3. 绝对逃生游戏的计算机要求,绝地求生需要什么配置 绝地求生电脑配置详解
  4. C++的一些冷门知识
  5. QT软件开发-基于FFMPEG设计视频播放器-GPU硬解、OpenGL渲染、解码音频完整例子(六)
  6. 老板,这里有一份“微信报表”报告请注意查收
  7. 影响服务器租用费用的因素有哪些?
  8. 2023vue面试题
  9. python爬虫教程:Python写网络爬虫的优势和理由
  10. 长虹电视机android 4.0,长虹3013智能电视A7000 B5000 安卓4.0升级包