当前位置: 首页 > news >正文

Java【代码 03】未分页数据根据参数进行后期分页(粘贴可用)

未分页数据根据参数进行后期分页

  • 1.需求说明
  • 2.代码实现
  • 3.实际使用

1.需求说明

某些时候一些常用的数据比如字典、元数据等在项目启动时已经全量加载到内存了,但是页面展示时要进行分页,这个时候有的前端 table 组件有分页功能,没有分页功能的就要后端进行处理了。

2.代码实现

    /*** 未分页数据根据参数进行分页** @param rows     未分页的数据记录* @param curPage  页码(从1开始)* @param pageSize 每页记录数据* @return 当前页码的记录数据*/public List<?> rowsToPageRows(List<?> rows, int curPage, int pageSize) {int totalSize = rows.size();int totalPage = ((Double) Math.ceil(totalSize * 1.0 / pageSize)).intValue();// 当前页大于总页数if (curPage > totalPage) {return null;}// 计算的 toIndex 大于总记录数则取总条数int toIndex = pageSize * curPage;if (toIndex > totalSize) {toIndex = totalSize;}return rows.subList(pageSize * (curPage - 1), toIndex);}

3.实际使用

    public static void main(String[] args) {String stringWithComma = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22";List<String> strList = CollectionUtil.toList(stringWithComma.split(","));List<?> pageRows = rowsToPageRows(strList, 2, 5);assert pageRows != null;pageRows.forEach(System.out::println);}// 结果678910
http://www.dtcms.com/a/295167.html

相关文章:

  • git 修改最近一次 commit 信息
  • Prometheus介绍
  • 部署zabbix
  • Git版本控制系统
  • 什么是MySQL 视图
  • CSS预处理器与后处理器对比解析
  • 我用EV-21569-SOM评估来开发ADSP-21569(十二)-SigmaStudio Plus做开发(3)
  • Element中ElMessageBox弹框内容及按钮样式自定义
  • 论文解析 基于遗传算法增强YOLOv5算法的合成数据风力涡轮叶片缺陷检测
  • 面试150 环形子数组的最大和
  • StringBuilder学习
  • Python 程序设计讲义(8):Python 的基本数据类型——浮点数
  • 【faiss】用于高效相似性搜索和聚类的C++库 | 源码详解与编译安装
  • C基础 07_综合案例《猜拳游戏》
  • 机器学习与视觉结合开发基础
  • IPTV电视直播源更新工具和检测直播源工具
  • Python打卡Day22 kaggle泰坦尼克号生存预测
  • 基于Informer+BiGRU-GAtt的并行预测模型
  • Java开发岗面试记录合集
  • 二分查找----3.在排序数组中查找元素的第一个和最后一个位置
  • 语音增强相关技术
  • 【世纪龙科技】新能源汽车维护与故障诊断-汽车专业数字课程资源
  • 第八讲:C++中的vector
  • Ⅹ—6.计算机二级综合题5---6套
  • Fast Frequency Estimation Algorithm by Least Squares Phase Unwrapping
  • OpenLayers 快速入门(三)Source 对象补充
  • 车载绝缘子放电状态检测系统数据分析软件需求说明书
  • android15 wifi信号格数DB值对应关系及wifi回连时间
  • Python3常见接口函数
  • 详解FreeRTOS开发过程(四)-- 任务切换