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

相关推荐
许苑向上2 小时前
MVCC底层原理实现
java·数据库·mvcc原理
组合缺一2 小时前
Solon Cloud Gateway 开发:熟悉 ExContext 及相关接口
java·后端·gateway·solon
一只淡水鱼662 小时前
【spring】集成JWT实现登录验证
java·spring·jwt
忘忧人生3 小时前
docker 部署 java 项目详解
java·docker·容器
null or notnull3 小时前
idea对jar包内容进行反编译
java·ide·intellij-idea·jar
言午coding4 小时前
【性能优化专题系列】利用CompletableFuture优化多接口调用场景下的性能
java·性能优化
缘友一世5 小时前
JAVA设计模式:依赖倒转原则(DIP)在Spring框架中的实践体现
java·spring·依赖倒置原则
何中应5 小时前
从管道符到Java编程
java·spring boot·后端
SummerGao.5 小时前
springboot 调用 c++生成的so库文件
java·c++·.so
组合缺一6 小时前
Solon Cloud Gateway 开发:Route 的过滤器与定制
java·后端·gateway·reactor·solon