Java集合分批、切割 使用Apache Commons Collections包实现

Apache Commons是Apache软件基金会的项目,曾经隶属于Jakarta项目。Commons的目的是提供可重用的、解决各种实际的通用问题且开源的Java代码。Commons由三部分组成:Proper(是一些已发布的项目)、Sandbox(是一些正在开发的项目)和Dormant(是一些刚启动或者已经停止维护的项目)。
Commons Collections包为Java标准的Collections API提供了相当好的补充。在此基础上对其常用的数据结构操作进行了很好的封装、抽象和补充。

一、使用

1.引入依赖

在项目pom.xml文件中引入依赖

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

2.使用方式

使用Apache Commons Collections包中的 ListUtils.partition(要分割的集合, 每一次分割的大小); 方法对集合进行分割。

import org.apache.commons.collections4.ListUtils;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class MyClass {
    public static void main(String[] args) {
        // 原始列表
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

        // 分批大小
        int batchSize = 3;

        // 使用ListUtils.partition()方法进行分批
        List<List<Integer>> subLists = ListUtils.partition(list, batchSize);

        // 输出分批后的列表
        for (List<Integer> subList : subLists) {
            System.out.println(subList);
        }
    }
} 

二、总结

实际上Apache Commons Collections包并不只有这一个功能,其他更多的功能可以参考api文档 https://commons.apache.org/proper/commons-collections/javadocs/api-3.2.2/index.html