为了实现列表分割功能,以便于后续进行自定义多线程分批执行,我们可以创建一个工具类
ListSplitter,它包含一个静态方法 splitList,该方法接收一个列表和一个批次大小,并返回一个分
割后的列表集合。
import java.util.ArrayList;
import java.util.List;
public class ListSplitter {
/**
* 将列表分割成多个批次。
*
* @param <E> 列表元素类型
* @param list 输入的元素列表
* @param batchSize 批次大小
* @return 分割后的批次列表
*/
public static <E> List<List<E>> splitList(List<E> list, int batchSize) {
List<List<E>> 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;
}