package com.fs.common.utils;

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

public class BatchUtils {

    /**
     * 将列表拆分为指定大小的子列表
     *
     * @param list     原始列表
     * @param batchSize 每批的大小
     * @param <T>      列表元素类型
     * @return 拆分后的子列表集合
     */
    public static <T> List<List<T>> splitList(List<T> list, int batchSize) {
        List<List<T>> batches = new ArrayList<>();
        for (int i = 0; i < list.size(); i += batchSize) {
            int end = Math.min(i + batchSize, list.size());
            batches.add(new ArrayList<>(list.subList(i, end)));
        }
        return batches;
    }
}
