JAVA分批处理数据简单示例

功能描述

在处理业务时,经常遇到需要分批次处理数据的场景,例如有105条数据,每次推送20条,分批次推送

最后不足20条数据时,一次性推送全部剩余数据

image-20231120132006402

DEMO示例

package shiguang.test;

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

public class BatchProcessingExample {

    public static void main(String[] args) {
        // 模拟接口返回的数据,这里用数字代表每一条数据
        List<Integer> responseData = new ArrayList<>();
        for (int i = 1; i <= 105; i++) {
            responseData.add(i);
        }

        int batchSize = 20; // 每批次处理的数据量

        // 计算需要多少批次来处理所有数据
        int totalDataSize = responseData.size();
        int totalBatches = (int) Math.ceil((double) totalDataSize / batchSize);

        // 分批次处理数据
        for (int batchNumber = 0; batchNumber < totalBatches; batchNumber++) {
            int startIndex = batchNumber * batchSize;
            int endIndex = Math.min(startIndex + batchSize, totalDataSize);

            List<Integer> batchData = responseData.subList(startIndex, endIndex);

            // 在这里对批次数据进行处理,示例中只是打印数据
            processBatchData(batchData);
        }
    }

    // 处理批次数据的方法,这里只是打印数据
    private static void processBatchData(List<Integer> batchData) {
        for (Integer data : batchData) {
            System.out.println("Processing data: " + data);
        }
        System.out.println("Batch processing complete.");
    }
}

posted @   時光心向阳  阅读(463)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示