直接看代码吧,有注释
java
package com.ep.crm.task;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
// 生成随机整数
Random random = new Random();
for (int i = 0; i < 100; i++) {
// 生成一个随机整数
int randomNumber = random.nextInt();
list.add(String.valueOf(randomNumber));
}
// 每次操作指定数量数据,直到list操作完关闭
while (!list.isEmpty()) {
System.out.println("原本" + list);
// 需要操作的数据,这里每次操作50条
int batchSize = Math.min(50, list.size());
// 取出数据放到新的list当中
List<String> firstBatch = new ArrayList<String>(list.subList(0, batchSize));
// 操作取出的数据 firstBatch
// ...... 具体业务
// 移除已经取出的数据
list.subList(0, batchSize).clear();
// 对前100条数据进行操作
System.out.println("取出的数据" + firstBatch);
System.out.println("取完剩余数据" + list);
}
}
}