Java List数据量大, 需要分片批次操作
很久前,写过关于list数据量大,分批处理的相关介绍文章(自定义的java代码实现):
SSM Mybatis 批量插入 采用分批处理一次500条_默默不代表沉默-CSDN博客_mybatis分批插入
该篇再带来两种 我认为使用挺方便的 分批方式:
1. 使用 apache 的工具包 :
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.4</version> </dependency>
代码示例:
ListUtils.partition
List<Integer> list=new ArrayList<>();
for (int i=0;i<500;i++){
list.add(i);
}
List<List<Integer>> newList = Lists.partition(list, 150);
for (List<Integer> list1:newList){
System.out.println(list1.size());
}
结果输出:
2.使用guava的工具包 :
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>31.0.1-jre</version> </dependency>
代码示例:
Lists.partition
List<Integer> list=new ArrayList<>();
for (int i=0;i<500;i++){
list.add(i);
}
List<List<Integer>> newList = Lists.partition(list, 150);
for (List<Integer> list1:newList){
System.out.println(list1.size());
}
结果输出:
当然还有其他工具包也是封装了这些list分批的函数的,但是我只介绍这两种吧。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了