Lsit集合数据多段化处理

public List<List<OriginalDataAdvProductadsReport>> splitlist(List<OriginalDataAdvProductadsReport> resList, int count) {
        if (resList == null || count < 1) {
            return null;
        }
     List<List<OriginalDataAdvProductadsReport>> ret = new ArrayList<List<OriginalDataAdvProductadsReport>>();
        int size = resList.size();
        if (size <= count) { //数据量不足count指定的大小
            ret.add(resList);
        } else {
            int pre = size / count;
            int last = size % count;
            //前面pre个集合,每个大小都是count个元素
            for (int i = 0; i < pre; i++) {
             List<OriginalDataAdvProductadsReport> itemList = new ArrayList<OriginalDataAdvProductadsReport>();
                for (int j = 0; j < count; j++) {
                    itemList.add(resList.get(i * count + j));
                }
                ret.add(itemList);
            }
            //last的进行处理
            if (last > 0) {
             List<OriginalDataAdvProductadsReport> itemList = new ArrayList<OriginalDataAdvProductadsReport>();
                for (int i = 0; i < last; i++) {
                    itemList.add(resList.get(pre * count + i));
                }
                ret.add(itemList);
            }
        }
        return ret;
    }


//调用语句 List<List<OriginalDataAdvProductadsReport>> listListPageDatas = splitlist(list,5000);

 

  

posted @ 2021-02-08 19:59  cire  阅读(77)  评论(0)    收藏  举报
/* 看板娘 */