自己编写相关工具类

List分页和SQL分页在什么情况下使用?
参考URL: https://www.zhihu.com/question/62593358/answer/1126234241
Java对list进行分页,subList()方法实现分页
参考URL: https://www.cnblogs.com/loong-hon/p/10863635.html
[推荐]Java内存分页工具类
参考URL: http://www.manongjc.com/detail/14-zmdycqozrtwaylf.html

使用思路:用这个工具类,page方法,获取某个页的数据,返回给web前端,使用自己
PageVO去封装即可。

public class RAMPager<T> {private List<T> data;private int pageSize;/*** @param data     原始数据* @param pageSize 每页条数*/public RAMPager(List<T> data, int pageSize) {this.data = data;this.pageSize = pageSize;}/*** 获取某页数据,从第1页开始** @param pageNum 第几页* @return 分页数据*/public List<T> page(int pageNum) {if (pageNum < 1) {pageNum = 1;}int from = (pageNum - 1) * pageSize;int to = Math.min(pageNum * pageSize, data.size());if (from > to) {from = to;}return data.subList(from, to);}/*** 获取总页数*/public int getPageCount() {if (pageSize == 0) {return 0;}return data.size() % pageSize == 0 ? (data.size() / pageSize) : (data.size() / pageSize + 1);}/*** 元素迭代器*/public Iterator<List<T>> iterator() {return new Itr();}private class Itr implements Iterator<List<T>> {int page = 1;Itr() {}public boolean hasNext() {return page <= getPageCount();}public List<T> next() {int i = page;if (i > getPageCount())return new ArrayList<>();page = i + 1;return RAMPager.this.page(i);}}public static void main(String[] args) {List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8);System.out.println("原始数据是:" + list);int pageSize = 2;System.out.println("每页大小是:" + pageSize);RAMPager<Integer> pager = new RAMPager<>(list, pageSize);System.out.println("总页数是: " + pager.getPageCount());System.out.println("<- - - - - - - - - - - - - ->");// 无需感知页码情况下使用Iterator<List<Integer>> iterator = pager.iterator();while (iterator.hasNext()) {List<Integer> next = iterator.next();System.out.println("next: " + next);}System.out.println("<- - - - - - - - - - - - - ->");// 需要指定页码情况使用,页码从第一页开始,且小于等于总页数!for (int i = 1; i <= pager.getPageCount(); i++) {List<Integer> page = pager.page(i);System.out.println("第 " + i + " 页数据是:" + page);}}
}

java 通用内存分页(List分页)相关推荐

  1. Linux内存管理:分页机制

    <Linux内存管理:内存描述之内存节点node> <Linux内存管理:内存描述之内存区域zone> <Linux内存管理:内存描述之内存页面page> < ...

  2. 第83节:Java中的学生管理系统分页功能

    第83节:Java中的学生管理系统分页功能 分页功能一般可以做成两种,一种是物理分页,另一种是逻辑分页.这两种功能是有各自的特点的,物理分页是查询的时候,对数据库进行访问,只是查一页数据就进行返回,其 ...

  3. Linux内存管理:分页

    Linux内存管理:分页 rtoax 2021年3月 1. 简介 在 Linux 内核启动过程中的第五部分,我们学到了内核在启动的最早阶段都做了哪些工作.接下来,在我们明白内核如何运行第一个 init ...

  4. java oracle的2种分页方法

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

  5. Java架构直通车——ElasticSearch深度分页解决方案

    文章目录 分页查询 深度分页 深度分页解决方案 分页查询 分页查询是这样的: POST /shop/_doc/_search {"query": {"match_all& ...

  6. 十分良心!全网最详细的Java 自动内存管理机制及性能优化教程

    同样的,先来个思维导图预览一下本文结构. 一图带你看完本文 一.运行时数据区域 首先来看看Java虚拟机所管理的内存包括哪些区域,就像我们要了解一个房子,我们得先知道这个房子大体构造.根据<Ja ...

  7. java 虚拟机_浅谈Java虚拟机内存区

    1. Java 虚拟机内存区概述 我们在编写程序时,经常会遇到OOM(out of Memory)以及内存泄漏等问题.为了避免出现这些问题,我们首先必须对JVM的内存划分有个具体的认识.JVM将内存主 ...

  8. matlab java堆内存溢出,matlab内存溢出的解决方案

    (1) 增加虚拟内存:cmd -> taskmgr 打开任务管理器,查看物理内存和虚拟内存,可观察matlab在运行过程中是否超过物理内存和虚拟内存.若超过,增加虚拟内存的方法是不可行的.物理内 ...

  9. JAVA的内存溢出和内存泄漏

    目录 一.前言和定义 二.内存溢出和内存泄漏 JAVA堆溢出 JVM虚拟机栈和本地方法栈 方法区 三.如何尽可能的避免内存溢出和内存泄漏 一.前言和定义 在先前的博客中已经分析了JAVA对象内存分配, ...

最新文章

  1. HDU 4741 Save Labman No.004 计算几何 数学
  2. BW report execution callstack
  3. HDU 6833 A Very Easy Math Problem
  4. html文档的文件头的主要作用是什么,文件头
  5. 95-30-020-java.util-Map
  6. hautoj 1260
  7. 微信支付--预支付(统一下单)
  8. 202102-一个小屁民的若有所思
  9. sample函数—R语言
  10. macos可以升级到指定版本吗_如何升级mac系统版本?
  11. 霹雳猿教程网站正式上线
  12. 魅族android10内测答案,魅族Flyme9内测答案
  13. 十分担心外行人抢内行人的饭碗
  14. Java限流解决方案
  15. 【计组之EDA】学了EDA,这些元件符号及常用化简公式你都会了叭(超详细图示ai)
  16. 20年没堵上股权漏洞,万科沦落到靠安邦搭救,王石也是心大
  17. 煮饭的机器人作文_做饭机器人作文3篇
  18. 导师制 一 团队制
  19. NXP NTP53321 NTAG芯片简单使用
  20. active控件和java脚本_【学习笔记】在原生javascript中使用ActiveX和插件

热门文章

  1. GmSSL制作国密算法自签证书和 HTTPS 配置
  2. 读书笔记 -《疯狂Java讲义》(第5版)
  3. 技嘉b365dv3主板黑苹果efi_【ITX小钢炮】黑苹果安装经验分享
  4. 苹果手机计算机怎么看之前的记录,苹果怎么查之前的通话记录吗(苹果手机怎么查通话录音内容)...
  5. OracleP6机场工程进度控制系列17:机场工程建设总进度计划清单
  6. Java服务器验证登录系统
  7. app跳转到app store评分界面
  8. 电子报纸教程--部署篇
  9. 别再纠结页面设计!挑选小程序页面设计模板就对了
  10. 【交通流理论】初级基础