List 集合分批次处理


一、代码

public class BatchProcess {
    public static void main(String[] args) {
        List<Integer> totalList = new ArrayList<>();
        for (int i = 1; i <= 100; i++) {
            totalList.add(i);
        }

        batchProcessList(totalList);
    }

    // 将 totalList 集合分成多批进行处理(每一批 batchList)
    public static void batchProcessList(List<Integer> totalList) {
        Integer BATCH_COUNT = 20;
        List<Integer> batchList = new ArrayList<>();
        if (!CollectionUtils.isEmpty(totalList)) {
            for (int i = 0; i < totalList.size(); i++) {
                batchList.add(totalList.get(i));
                // 如果分批的集合填充满了元素或者填充的是最后一个元素
                if ((Objects.nonNull(batchList) && Objects.equals(batchList.size(), BATCH_COUNT)) || Objects.equals((totalList.size() - 1), i)) {
                    System.out.println(batchList);
                    System.out.println("------------------------------------------");
                    // 执行完了处理逻辑之后,将 batchList 的元素清空
                    batchList.clear();
                }
            }
        }
    }
}

二、测试结果

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM