java切割List

/**
     * 泛型方法  切割list
     *
     * @param collection  被切割List
     * @param maxSize    切割成几块
     * @param splitSize   每块多少条 
     * @param <T>
     * @return
     */
    public static <T> List<List<T>> splitList(List<T> collection, int maxSize, int splitSize) {
        if (org.springframework.util.CollectionUtils.isEmpty(collection)) {
            return Collections.emptyList();
        }
        return Stream.iterate(0, f -> f + 1)
                .limit(maxSize)
                .parallel()
                .map(a -> collection.parallelStream().skip(a * splitSize).limit(splitSize).collect(Collectors.toList()))
                .filter(b -> !b.isEmpty())
                .collect(Collectors.toList());
    }

 

posted @ 2020-08-20 15:18  luodl  阅读(203)  评论(0)    收藏  举报