list数组分割,存入Map
public class GetList {
private static final Logger LOG = LoggerFactory.getLogger(PointServiceImpl.class);
/**
*
* @param list 原始数据
* @param capacity 分隔容量
* @return map 目标集合
*/
public Map<Integer, List<Point>> Separate(List<Point> list,int capacity){
Map<Integer, List<Point>> result=new HashMap<>();
if(list.isEmpty()||capacity<1){
return null;
}
int size=list.size();
if(capacity>= size){
result.put(0,list);
return result;
}
//分割次数
int count=((Double)Math.ceil(size*1.0/capacity)).intValue();
for(int i=0;i<count;i++){
int end=capacity*(i+1);
if(end>size)end=size;
result.put(i,list.subList(capacity*i,end));
}
return result;
}
}