Java List数据量大, 需要分片批次操作

很久前,写过关于list数据量大,分批处理的相关介绍文章(自定义的java代码实现):

该篇再带来两种 我认为使用挺方便的 分批方式: 1. 使用 apache 的工具包 :

<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.4</version> </dependency>

代码示例:

ListUtils.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> list1:newList){
            System.out.println(list1.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> list1:newList){
            System.out.println(list1.size());
        }

结果输出:

当然还有其他工具包也是封装了这些list分批的函数的,但是我只介绍这两种吧。

经验分享 程序员 微信小程序 职场和发展