Java开发中List数据量大,需要分片批次处理

在开发过程中可能会遇到需要处理的List数据量过大,可以选择分批处理的方式对大量数据进行处理。

1、使用 apache 的工具包

xml 复制代码
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-collections4</artifactId>
    <version>4.4</version>
</dependency>

代码示例:Lists.partition()

java 复制代码
	 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> subset:newList){
	     System.out.println(subset.size());
	 }

2、使用 guava 的工具包

xml 复制代码
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>31.0.1-jre</version>
</dependency>

代码示例:Lists.partition()

java 复制代码
	 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> subset:newList){
	     System.out.println(subset.size());
	 }

当然还有其他工具包也封装了List分批处理的函数。


参考链接:

https://blog.csdn.net/qq_35387940/article/details/121612391

相关推荐
AAA修煤气灶刘哥10 分钟前
Java+AI 驱动的体检报告智能解析:从 PDF 提取到数据落地全指南
java·人工智能·后端
wxy31920 分钟前
嵌入式LINUX——————TCP并发服务器
java·linux·网络
★YUI★42 分钟前
学习游戏制作记录(玩家掉落系统,删除物品功能和独特物品)8.17
java·学习·游戏·unity·c#
微小的xx44 分钟前
java + html 图片点击文字验证码
java·python·html
mask哥1 小时前
详解flink java基础(一)
java·大数据·微服务·flink·实时计算·领域驱动
克拉克盖博1 小时前
chapter03_Bean的实例化与策略模式
java·spring·策略模式
DashVector1 小时前
如何通过Java SDK分组检索Doc
java·数据库·面试
LZQqqqqo2 小时前
C# 中 ArrayList动态数组、List<T>列表与 Dictionary<T Key, T Value>字典的深度对比
windows·c#·list
程序员清风2 小时前
跳表的原理和时间复杂度,为什么还需要字典结构配合?
java·后端·面试
渣哥2 小时前
Kafka消息丢失的3种场景,生产环境千万要注意
java