|
@@ -2,18 +2,17 @@ package org.springblade.common.utils;
|
|
|
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import java.io.*;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.net.HttpURLConnection;
|
|
|
import java.net.URL;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Random;
|
|
|
+import java.util.*;
|
|
|
import java.util.regex.Matcher;
|
|
|
import java.util.regex.Pattern;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
* 通用工具类
|
|
@@ -186,4 +185,26 @@ public class CommonUtil {
|
|
|
return dest;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Description: Java8 Stream分割list集合
|
|
|
+ * @param list 集合数据
|
|
|
+ * @param splitSize 几个分割一组
|
|
|
+ * @return 集合分割后的集合
|
|
|
+ */
|
|
|
+ public static <T> List<List<T>> splitList(List<T> list, int splitSize) {
|
|
|
+ //判断集合是否为空
|
|
|
+ if (CollectionUtils.isEmpty(list))
|
|
|
+ return Collections.emptyList();
|
|
|
+ //计算分割后的大小
|
|
|
+ int 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());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|