import java.util.ArrayList;
import java.util.List;
public class BatchProcessor {
public static void main(String[] args) {
// 예시 데이터 10000개 생성
List<String> allData = new ArrayList<>();
for (int i = 1; i <= 10000; i++) {
allData.add("Data-" + i);
}
// 배치 크기
int batchSize = 1000;
// 1000개씩 끊어서 처리
for (int i = 0; i < allData.size(); i += batchSize) {
int end = i + batchSize;
if (end > allData.size()) {
end = allData.size(); // 마지막 구간 처리
}
List<String> batch = allData.subList(i, end);
System.out.println("==== Batch " + (i / batchSize + 1) + " (size: " + batch.size() + ") ====");
for (String data : batch) {
System.out.println(data);
}
}
}
}반응형