话不多说,直接上代码
package cn.com.easy.util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Test {
public static void main(String[] args) {
//从哪开始截取
int begin = 0;
List<Map<String,Object>> idList = new ArrayList();
for (int i = 0; i < 5750; i++) {
Map<String,Object> map = new HashMap<>();
map.put(String.valueOf(i),String.valueOf(i));
idList.add(map);
}
//分割长度
int splitLength = 400;
// 遍历次数
int addNumb = idList.size() % splitLength == 0 ? 0 : 1 ;
int groupNums = idList.size() / splitLength + addNumb;
System.out.println("groupNums分割总次数"+groupNums);
//成功次数
int successTimes = 0;
for (int j = 0; j < groupNums; j++) {
List<Map<String,Object>> collect = idList.stream().skip(begin).limit(splitLength).collect(Collectors.toList());
//此处可以写一些逻辑代码,用try catch包着
try {
System.out.println("collect = " + collect);
System.out.println("collect长度 = " + collect.size());
//如果成功,成功次数+1
successTimes++;
}catch (Exception e){
System.out.println("失败原因:"+e);
//如果有异常想让for循环结束
break;
}finally {
begin += splitLength;
}
}
//最后比较业务逻辑成功的次数和总得遍历次数,如果相等,证明全部成功
if(successTimes == groupNums){
System.out.println("成功");
}else
System.out.println("失败");
}
}
新手上路,车技不好,请各位扶好。希望大家多多支持,祝大家前程什锦,money不断。为了美好的明天,让我们一起努力吧!