在开发过程中可能会遇到需要处理的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分批处理的函数。
参考链接: