list数组分割,存入Map

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;

    }
}
经验分享 程序员 微信小程序 职场和发展