ArrayList的工具类

/**
     *
     * @param listObj   原来的大List
     * @param groupNum  分隔成小List中,每个小List的元素的个素数
     * @param <T>
     * @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;
    }

 


版权声明:本文为wanghang88原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。