diff --git a/hutool-core/src/main/java/cn/hutool/core/collection/CollStreamUtil.java b/hutool-core/src/main/java/cn/hutool/core/collection/CollStreamUtil.java index 83c500563..989ae6c6b 100644 --- a/hutool-core/src/main/java/cn/hutool/core/collection/CollStreamUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/collection/CollStreamUtil.java @@ -55,7 +55,7 @@ public class CollStreamUtil { */ public static Map toIdentityMap(Collection collection, Function key, boolean isParallel) { if (CollUtil.isEmpty(collection)) { - return MapUtil.newHashMap(); + return MapUtil.newHashMap(0); } return toMap(collection, (v) -> Opt.ofNullable(v).map(key).get(), Function.identity(), isParallel); } @@ -88,7 +88,7 @@ public class CollStreamUtil { */ public static Map toMap(Collection collection, Function key, Function value, boolean isParallel) { if (CollUtil.isEmpty(collection)) { - return MapUtil.newHashMap(); + return MapUtil.newHashMap(0); } return StreamUtil.of(collection, isParallel) .collect(HashMap::new, (m, v) -> m.put(key.apply(v), value.apply(v)), HashMap::putAll); @@ -122,7 +122,7 @@ public class CollStreamUtil { */ public static Map> groupByKey(Collection collection, Function key, boolean isParallel) { if (CollUtil.isEmpty(collection)) { - return MapUtil.newHashMap(); + return MapUtil.newHashMap(0); } return groupBy(collection, key, Collectors.toList(), isParallel); } @@ -160,7 +160,7 @@ public class CollStreamUtil { public static Map>> groupBy2Key(Collection collection, Function key1, Function key2, boolean isParallel) { if (CollUtil.isEmpty(collection)) { - return MapUtil.newHashMap(); + return MapUtil.newHashMap(0); } return groupBy(collection, key1, CollectorUtil.groupingBy(key2, Collectors.toList()), isParallel); } @@ -197,7 +197,7 @@ public class CollStreamUtil { public static Map> group2Map(Collection collection, Function key1, Function key2, boolean isParallel) { if (CollUtil.isEmpty(collection) || key1 == null || key2 == null) { - return MapUtil.newHashMap(); + return MapUtil.newHashMap(0); } return groupBy(collection, key1, CollectorUtil.toMap(key2, Function.identity(), (l, r) -> l), isParallel); } @@ -235,7 +235,7 @@ public class CollStreamUtil { public static Map> groupKeyValue(Collection collection, Function key, Function value, boolean isParallel) { if (CollUtil.isEmpty(collection)) { - return MapUtil.newHashMap(); + return MapUtil.newHashMap(0); } return groupBy(collection, key, Collectors.mapping(v -> Opt.ofNullable(v).map(value).orElse(null), Collectors.toList()), isParallel); } @@ -254,7 +254,7 @@ public class CollStreamUtil { */ public static Map groupBy(Collection collection, Function key, Collector downstream) { if (CollUtil.isEmpty(collection)) { - return MapUtil.newHashMap(); + return MapUtil.newHashMap(0); } return groupBy(collection, key, downstream, false); } @@ -275,7 +275,7 @@ public class CollStreamUtil { */ public static Map groupBy(Collection collection, Function key, Collector downstream, boolean isParallel) { if (CollUtil.isEmpty(collection)) { - return MapUtil.newHashMap(); + return MapUtil.newHashMap(0); } return StreamUtil.of(collection, isParallel).collect(CollectorUtil.groupingBy(key, downstream)); } @@ -365,11 +365,11 @@ public class CollStreamUtil { */ public static Map merge(Map map1, Map map2, BiFunction merge) { if (MapUtil.isEmpty(map1) && MapUtil.isEmpty(map2)) { - return MapUtil.newHashMap(); + return MapUtil.newHashMap(0); } else if (MapUtil.isEmpty(map1)) { - map1 = MapUtil.newHashMap(); + map1 = MapUtil.newHashMap(0); } else if (MapUtil.isEmpty(map2)) { - map2 = MapUtil.newHashMap(); + map2 = MapUtil.newHashMap(0); } Set key = new HashSet<>(); key.addAll(map1.keySet()); @@ -386,57 +386,4 @@ public class CollStreamUtil { return map; } - /** - * 将collection过滤 - * - * @param collection 需要转化的集合 - * @param function 过滤方法 - * @return 过滤后的list - */ - public static List filter(Collection collection, Predicate function) { - if (CollUtil.isEmpty(collection)) { - return CollUtil.newArrayList(); - } - return collection.stream().filter(function).collect(Collectors.toList()); - } - - /** - * 将collection拼接 - * - * @param collection 需要转化的集合 - * @param function 拼接方法 - * @return 拼接后的list - */ - public static String join(Collection collection, Function function) { - return join(collection, function, ","); - } - - /** - * 将collection拼接 - * - * @param collection 需要转化的集合 - * @param function 拼接方法 - * @param delimiter 拼接符 - * @return 拼接后的list - */ - public static String join(Collection collection, Function function, CharSequence delimiter) { - if (CollUtil.isEmpty(collection)) { - return StrUtil.EMPTY; - } - return collection.stream().map(function).filter(Objects::nonNull).collect(Collectors.joining(delimiter)); - } - - /** - * 将collection排序 - * - * @param collection 需要转化的集合 - * @param comparing 排序方法 - * @return 排序后的list - */ - public static List sorted(Collection collection, Comparator comparing) { - if (CollUtil.isEmpty(collection)) { - return CollUtil.newArrayList(); - } - return collection.stream().sorted(comparing).collect(Collectors.toList()); - } }