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
相关文章:
c# 在高并发场景下,委托和接口调用的性能对比
如何在腾讯云服务器上快速搭建个人网站?
微信h5制作网站有哪些,免费微信H5页面制作工具?
常州企业建站如何选择最佳模板?
盐城做公司网站,江苏电子版退休证办理流程?
,想在网上投简历,哪几个网站比较好?
制作电商网页,电商供应链怎么做?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
建站之星如何快速更换网站模板?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
建站之星微信建站一键生成小程序+多端营销系统
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
c++怎么用jemalloc c++替换默认内存分配器【性能】
公司网站制作价格怎么算,公司办个官网需要多少钱?
建站之星如何开启自定义404页面避免用户流失?
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
如何零基础在云服务器搭建WordPress站点?
如何选择高效稳定的ISP建站解决方案?
建站为何优先选择香港服务器?
高端建站如何打造兼具美学与转化的品牌官网?
太原网站制作公司有哪些,网约车营运证查询官网?
如何解决ASP生成WAP建站中文乱码问题?
制作网站外包平台,自动化接单网站有哪些?
如何在Windows环境下新建FTP站点并设置权限?
建站之星后台管理系统如何操作?
孙琪峥织梦建站教程如何优化数据库安全?
如何快速生成高效建站系统源代码?
教育培训网站制作流程,请问edu教育网站的域名怎么申请?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
建站主机无法访问?如何排查域名与服务器问题
网站插件制作软件免费下载,网页视频怎么下到本地插件?
如何自定义建站之星网站的导航菜单样式?
如何基于云服务器快速搭建个人网站?
如何在搬瓦工VPS快速搭建网站?
如何在局域网内绑定自建网站域名?
如何用花生壳三步快速搭建专属网站?
如何在IIS中新建站点并配置端口与IP地址?
建站之星代理如何优化在线客服效率?
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
再谈Python中的字符串与字符编码(推荐)
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何快速搭建FTP站点实现文件共享?
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
网站按钮制作软件,如何实现网页中按钮的自动点击?
如何配置支付宝与微信支付功能?
*请认真填写需求信息,我们会在24小时内与您取得联系。