Java中将List集合按照指定长度分隔成多个List

代码:

package test;

import java.util.ArrayList;
import java.util.List;

public class ListDemo {

    public static void main(String[] args) {
        List<Integer> list = new ArrayList();
        for (int i = 1; i <= 16; i++) {
            list.add(i);
        }
        List<List<Integer>> result = splitList(list, 3);
        System.out.println("分隔后List个数:\t" + result.size());
    }

    /**
     * 按指定大小,分隔集合,将集合按规定个数分为n个部分
     *
     * @param list
     * @param len
     * @return
     */
    public static <T> List<List<T>> splitList(List<T> list, int len) {
        if (list == null || list.size() == 0 || len < 1) {
            return null;
        }
        //返回结果
        List<List<T>> result = new ArrayList<List<T>>();
        //传入集合长度
        int size = list.size();
        //分隔后的集合个数
        int count = (size + len - 1) / len;
        for (int i = 0; i < count; i++) {
            List<T> subList = list.subList(i * len, ((i + 1) * len > size ? size : len * (i + 1)));
            result.add(subList);
        }
        return result;
    }
}

 


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