将一个list分为每份小鱼1000的

    private <E> HashMap<Integer, List<E>> devide(List<E> list,int devideNum){
        
        HashMap<Integer, List<E>> map = new HashMap<>();
        int z=1;
        if (list.size() > devideNum) 
        {
            int i = 0;
            int j = devideNum;
            while (true) 
            {
                if (j > list.size()) {
                    j = list.size();
                }
                map.put(z++, list.subList(i, j));
                if (j == list.size()) {
                    break;
                }
                i = j;
                j = j + devideNum;
            }
        } else {
            map.put(1, list);
        }
        z=1;
        
        return map;
    }

   

List<LazadaTrackingDataTO> dataSourceList = new ArrayList<LazadaTrackingDataTO>();
        if (packages.size() > 1000) {
            int i = 0, j = 1000;
            while (true) {
                if (j > packages.size()) {
                    j =packages.size();
                }
                LazadaTrackingDataTO data = new LazadaTrackingDataTO();
                
                data.setPackages(packages.subList(i, j));
                logger.debug("DEBUG List, cut the List from i" + i + " to " + j);
                dataSourceList.add(data);
                if (j == packages.size()) {
                    break;
                }
                i = j;
                j = j + 1000;
            }
        } else {
            LazadaTrackingDataTO data1 = new LazadaTrackingDataTO();
            data1.setPackages(packages);
            dataSourceList.add(data1);
        }

原文地址:https://www.cnblogs.com/lshan/p/9660649.html