java 对ArrayList进行分页实例代码

发布时间 - 2026-01-10 23:07:35    点击率:

java 对ArrayList进行分页

概述

系统与系统之间的交互,通常是使用接口的形式。假设B系统提供了一个批量的查询接口,限制每次只能查询50条数据,而我们实际需要查询500条数据,这个时候可以对这500条数据做分批操作,分10次调用B系统的批量接口。

如果B系统的查询接口是使用List作为入参,那么要实现分批调用的话,可以利用ArrayList的subList方法来处理。

代码

sublist方法的定义:

  List<E> subList(int fromIndex, int toIndex);

只需要准确的算出fromIndex和 toIndex即可。

数据准备

public class TestArrayList {

  public static void main(String[] args) {
    List<Long> datas = Arrays.asList(new Long [] {1L,2L,3L,4L,5L,6L,7L});
  }
}

分页算法

import java.util.Arrays;
import java.util.List;

public class TestArrayList {

  private static final Integer PAGE_SIZE = 3;
  public static void main(String[] args) {
    List<Long> datas = Arrays.asList(new Long [] {1L,2L,3L,4L,5L,6L,7L,8L});

    //总记录数
    Integer totalCount = datas.size();

    //分多少次处理
    Integer requestCount = totalCount / PAGE_SIZE;

    for (int i = 0; i <= requestCount; i++) {
      Integer fromIndex = i * PAGE_SIZE;
      //如果总数少于PAGE_SIZE,为了防止数组越界,toIndex直接使用totalCount即可
      int toIndex = Math.min(totalCount, (i + 1) * PAGE_SIZE);
      List<Long> subList = datas.subList(fromIndex, toIndex);
      System.out.println(subList);
      //总数不到一页或者刚好等于一页的时候,只需要处理一次就可以退出for循环了
      if (toIndex == totalCount) {
        break;
      }
    }

  }
}

测试场景

1、总数不足一页
2、总数刚好等于一页
3、总数多余一页

上面三个case都可以正常通过。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# java  # 对ArrayList进行分页  # ArrayList进行分页实例详解  # ArrayList分页  # java对list集合进行分页的四种写法总结  # Java实现List集合手动分页的方法  # java中List分页的几种方法介绍  # Java List分页功能实现代码实例  # java中对list分页并显示数据到页面实例代码  # Java中对list集合进行分页的四种方式介绍  # 分页  # 只需要  # 希望能  # 这个时候  # 谢谢大家  # 可以利用  # 以对  # 方法来  # 为了防止  # 就可以  # gt  # int  # lt  # brush  # public  # TestArrayList  # strong  # fromIndex  # toIndex  # class 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Mybatis 中的insertOrUpdate操作  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  Android GridView 滑动条设置一直显示状态(推荐)  如何在 Pandas 中基于一列条件计算另一列的分组均值  教学论文网站制作软件有哪些,写论文用什么软件 ?  如何挑选高效建站主机与优质域名?  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  如何快速搭建高效可靠的建站解决方案?  黑客如何利用漏洞与弱口令入侵网站服务器?  Laravel API资源类怎么用_Laravel API Resource数据转换  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  html5的keygen标签为什么废弃_替代方案说明【解答】  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  电商网站制作价格怎么算,网上拍卖流程以及规则?  如何用花生壳三步快速搭建专属网站?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  在Oracle关闭情况下如何修改spfile的参数  iOS中将个别页面强制横屏其他页面竖屏  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  Laravel distinct去重查询_Laravel Eloquent去重方法  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  java获取注册ip实例  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  微信小程序 闭包写法详细介绍  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  js代码实现下拉菜单【推荐】  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  jQuery validate插件功能与用法详解  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  太平洋网站制作公司,网络用语太平洋是什么意思?  利用 Google AI 进行 YouTube 视频 SEO 描述优化  JS经典正则表达式笔试题汇总  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  简单实现jsp分页  打造顶配客厅影院,这份100寸电视推荐名单请查收  iOS正则表达式验证手机号、邮箱、身份证号等  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  Laravel如何实现用户密码重置功能?(完整流程代码)