有个业务数据集合,想分批次处理,如每100条数据执行一次。
List<Integer> values = new ArrayList<>();
for (int k=0;k<105;k++){
values.add(k);
}
int total = values.size();
System.out.println(values);
System.out.println(total);
int size = values.size() / 100 + 1;
int startIndex, endIndex;
for (int i = 0; i < size; i++) {
startIndex = i * 100;
int nexIndex = i * 100 + 100;
endIndex = nexIndex > total ? total : nexIndex;
System.out.println("sIndex:"+startIndex+" eIndex:"+endIndex);
if (startIndex>=endIndex){
return;
}
System.out.println(values.subList(startIndex, endIndex));
}
测试结果: