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

相关推荐
杀死那个蝈坦18 分钟前
Caffeine
java·jvm·spring cloud·tomcat
n***271919 分钟前
JAVA (Springboot) i18n国际化语言配置
java·spring boot·python
汤姆yu20 分钟前
基于springboot的校园家教信息系统
java·spring boot·后端·校园家教
q***062922 分钟前
Spring Boot--@PathVariable、@RequestParam、@RequestBody
java·spring boot·后端
urkay-24 分钟前
Android 切换应用语言
android·java·kotlin·iphone·androidx
小石头 1008630 分钟前
【Java】String类(超级详细!!!)
java·开发语言·算法
.柒宇.35 分钟前
力扣hot100---42.接雨水(java版)
java·算法·leetcode
D***441436 分钟前
Spring Boot 多数据源解决方案:dynamic-datasource-spring-boot-starter 的奥秘(上)
java·spring boot·后端
迈巴赫车主43 分钟前
蓝桥杯20534爆破 java
java·数据结构·算法·职场和发展·蓝桥杯
汝生淮南吾在北1 小时前
SpringBoot+Vue在线笔记管理系统
java·vue.js·spring boot·笔记·毕业设计·毕设