使用stream 分割List为形同大小的集合

  • Post author:
  • Post category:其他


使用stream 分割List为形同大小的集合

public static <T> List<List<T>> splitList(List<T> list, long splitSize) {
        //判断集合是否为空
        if (CollectionUtils.isEmpty(list))
            return Collections.emptyList();
        //计算分割后的大小
        long maxSize = (list.size() + splitSize - 1) / splitSize;
        //开始分割
        return Stream.iterate(0, n -> n + 1)
                .limit(maxSize)
                .parallel()
                .map(a -> list.parallelStream().skip(a * splitSize).limit(splitSize).collect(Collectors.toList()))
                .filter(b -> !b.isEmpty())
                .collect(Collectors.toList());
    }



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