@Test
@Test
public void ifelse1(){
List<String> a=new ArrayList<>();
a.add("1a");
a.add("2b");
a.add("3c");
a.add("4d");
a.add("5e");
int limit = 2;
Integer size = a.size();
if (limit < size) {
//分批数
int part = size / limit;
BILLHEADER_LOGGER.info("本次共有 :{}条!" + " 分为 :{}批处理", size, part);
for (int i = 0; i < part; i++) {
List<String> listPage = a.subList(0, limit);
BILLHEADER_LOGGER.info("处理数据: {}条", listPage.size());
// 分批处理
for (int q = 0; q < listPage.size(); q++) {
BILLHEADER_LOGGER.info("处理数据listPage: {}",listPage.get(q));
}
// 剔除已处理的
a.subList(0, limit).clear();
}
// 如果有剩余, 处理剩余条数
if (!a.isEmpty()) {
BILLHEADER_LOGGER.info("剩余数据条数: {} 条", a.size());
for (int q = 0; q < a.size(); q++) {
BILLHEADER_LOGGER.info("剩余数据: {}",a.get(q));
}
}
}
}
结果如下:
2020-12-09 16:22:56.259 [main] INFO [c.z.p.e.meTest:103 (ifelse1)] - 本次共有 :5条! 分为 :2批处理
2020-12-09 16:22:56.387 [main] INFO [c.z.p.e.meTest:106 (ifelse1)] - 处理数据: 2条
2020-12-09 16:22:56.387 [main] INFO [c.z.p.e.meTest:110 (ifelse1)] - 处理数据listPage: 1a
2020-12-09 16:22:56.387 [main] INFO [c.z.p.e.meTest:110 (ifelse1)] - 处理数据listPage: 2b
2020-12-09 16:22:56.388 [main] INFO [c.z.p.e.meTest:106 (ifelse1)] - 处理数据: 2条
2020-12-09 16:22:56.388 [main] INFO [c.z.p.e.meTest:110 (ifelse1)] - 处理数据listPage: 3c
2020-12-09 16:22:56.389 [main] INFO [c.z.p.e.meTest:110 (ifelse1)] - 处理数据listPage: 4d
2020-12-09 16:22:56.389 [main] INFO [c.z.p.e.meTest:118 (ifelse1)] - 剩余数据条数: 1 条
2020-12-09 16:22:56.389 [main] INFO [c.z.p.e.meTest:120 (ifelse1)] - 处理数据: 5e