切分List集合为多个List集合

原创 2020-03-12 10:57 阅读(7052)次

切分一个List变成多个List集合,代码如下:

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

/**
 * @author: jary
 * @datetime: 2020/2/5 15:59
 * @description:
 */
public class CollectUtils {
    /**
     * 切分list
     * @param sourceList
     * @param groupSize 每组定长
     * @return
     */
    public static List<List> splitList(List sourceList, int groupSize) {
        int length = sourceList.size();
        // 计算可以分成多少组
        int num = (length + groupSize - 1) / groupSize;
        List<List> newList = new ArrayList<>(num);
        for (int i = 0; i < num; i++) {
            // 开始位置
            int fromIndex = i * groupSize;
            // 结束位置
            int toIndex = (i + 1) * groupSize < length ? (i + 1) * groupSize : length;
            newList.add(sourceList.subList(fromIndex, toIndex));
        }
        return newList;
    }
}


下一篇:postgresql生成uuid