分批处理 Java list 集合
参考自:http://www.cnblogs.com/java666/p/4789597.html
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Slf4j
public class TestServer {
public static void main(String[] args) {
List<String> list = new ArrayList<>(Arrays.asList("a","b","c","d","e","f","g","h","i"));
//每次处理的记录条数
Integer requestLimit = 2;
Integer size = list.size();
if(list.size()<=requestLimit){
log.info("不需要分批");
log.info("处理数据:{}",list);
return;
}
Integer partCount = size/requestLimit;
for (int i = 0; i < partCount; i++){
log.info("第 {} 次,执行处理:",(i + 1));
List<String> pageList = list.subList(0,requestLimit);
log.info("处理数据:{}",pageList);
list.subList(0,requestLimit).clear();
}
if (!list.isEmpty()) {
log.info("最后一批处理");
log.info("处理数据:{}",list);
}
}
}
执行结果