在开发过程中可能会遇到需要处理的List数据量过大,可以选择分批处理的方式对大量数据进行处理。
1、使用 apache 的工具包
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections4</artifactId><version>4.4</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> subset:newList){System.out.println(subset.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> subset:newList){System.out.println(subset.size());}
当然还有其他工具包也封装了List分批处理的函数。
参考链接:
https://blog.csdn.net/qq_35387940/article/details/121612391