拆分List

来源:互联网 发布:剑网三网络助手 编辑:程序博客网 时间:2024/05/17 00:59

List 拆分

将一个list拆分成多个小的list

/** * 将一个List按照固定的大小拆成很多个小的List  * @param listObj 需要拆分的List  * @param groupNum 每个List的最大长度  * @return */public static <T> List<List<T>> getSubList(List<T> listObj, int groupNum) {    List<List<T>> resultList = new ArrayList<List<T>>();    // 获取需要拆分的List个数     int loopCount = (listObj.size() % groupNum == 0) ? (listObj.size() / groupNum) : ((listObj.size() / groupNum)+1);    // 开始拆分    for (int i = 0; i < loopCount; i++) {        // 子List的起始值        int startNum = i * groupNum;        // 子List的终止值        int endNum = (i+1) * groupNum;        // 不能整除的时候最后一个List的终止值为原始List的最后一个         if (i == loopCount - 1) {            endNum = listObj.size();        }        // 拆分List         List<T> listObjSub = listObj.subList(startNum, endNum);        // 保存差分后的List         resultList.add(listObjSub);    }    return resultList;}
0 0