diff --git a/hutool-core/src/main/java/cn/hutool/core/stream/CollectorUtil.java b/hutool-core/src/main/java/cn/hutool/core/stream/CollectorUtil.java
index 71bdc4ff6..20732ff6d 100644
--- a/hutool-core/src/main/java/cn/hutool/core/stream/CollectorUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/stream/CollectorUtil.java
@@ -430,124 +430,6 @@ public class CollectorUtil {
return toMap(Map.Entry::getKey, Map.Entry::getValue);
}
- /**
- *
将集合转换为树,默认用 {@code parentId == null} 来判断树的根节点
- * 因为需要在当前传入数据里查找,所以这是一个结束操作
- *
- * @param idGetter id的getter对应的lambda,可以写作 {@code Student::getId} 会过滤掉id为null的元素
- * @param pIdGetter parentId的getter对应的lambda,可以写作 {@code Student::getParentId}
- * @param childrenSetter children的setter对应的lambda,可以写作{ @code Student::setChildren}
- * @param isParallel 是否并行去组装,数据量特别大时使用
- * @param 此处是元素类型
- * @param 此处是id、parentId的泛型限制
- * @return list 组装好的树
- * eg:
- * {@code
- * List studentTree = students.stream().collect(toTree(Student::getId, Student::getParentId, Student::setChildren, isParallel));
- * }
- */
- public static , T> Collector> toTree(
- final Function idGetter,
- final Function pIdGetter,
- final BiConsumer> childrenSetter,
- final boolean isParallel) {
- return toTree(idGetter, pIdGetter, null, childrenSetter, isParallel);
- }
-
- /**
- * 将集合转换为树,默认用 {@code parentId == pidValue} 来判断树的根节点,可以为null
- * 因为需要在当前传入数据里查找,所以这是一个结束操作
- *
- * @param idGetter id的getter对应的lambda,可以写作 {@code Student::getId} 会过滤掉id为null的元素
- * @param pIdGetter parentId的getter对应的lambda,可以写作 {@code Student::getParentId}
- * @param pidValue pid的值
- * @param childrenSetter children的setter对应的lambda,可以写作{ @code Student::setChildren}
- * @param isParallel 是否并行去组装,数据量特别大时使用
- * @param 此处是元素类型
- * @param 此处是id、parentId的泛型限制
- * @return list 组装好的树
- * eg:
- * {@code
- * List studentTree = students.stream().collect(toTree(Student::getId, Student::getParentId, 0L, Student::setChildren, isParallel));
- * }
- * @author VampireAchao
- */
- public static , T> Collector> toTree(
- final Function idGetter,
- final Function pIdGetter,
- final R pidValue,
- final BiConsumer> childrenSetter,
- final boolean isParallel) {
- return Collectors.collectingAndThen(filtering(e -> idGetter.apply(e) != null, groupingBy(pIdGetter, Collectors.toList())),
- getChildrenFromMapByPidAndSet(idGetter, pIdValuesMap -> pIdValuesMap.get(pidValue), childrenSetter, isParallel));
- }
-
- /**
- * 将集合转换为树,自定义根节点的判断条件
- * 因为需要在当前传入数据里查找,所以这是一个结束操作
- *
- * @param idGetter id的getter对应的lambda,可以写作 {@code Student::getId} 会过滤掉id为null的元素
- * @param pIdGetter parentId的getter对应的lambda,可以写作 {@code Student::getParentId}
- * @param childrenSetter children的setter对应的lambda,可以写作 {@code Student::setChildren}
- * @param parentPredicate 树顶部的判断条件,可以写作 {@code s -> Objects.equals(s.getParentId(),0L) }
- * @param isParallel 是否并行处理
- * @param 此处是元素类型
- * @param 此处是id、parentId的泛型限制
- * @return list 组装好的树
- * eg:
- * {@code
- * List studentTree = EasyStream.of(students).
- * .toTree(Student::getId, Student::getParentId, Student::setChildren, Student::getMatchParent);
- * }
- * @author VampireAchao
- */
- public static , T> Collector> toTree(
- final Function idGetter,
- final Function pIdGetter,
- final BiConsumer> childrenSetter,
- final Predicate parentPredicate,
- final boolean isParallel) {
- final List parents = new ArrayList<>();
- return Collectors.collectingAndThen(filtering(e -> {
- if (parentPredicate.test(e)) {
- parents.add(e);
- }
- return idGetter.apply(e) != null;
- }, groupingBy(pIdGetter)),
- getChildrenFromMapByPidAndSet(idGetter, pIdValuesMap -> parents, childrenSetter, isParallel));
- }
-
- /**
- * toTree的内联函数
- * 因为需要在当前传入数据里查找,所以这是一个结束操作
- *
- * @param idGetter id的getter对应的lambda,可以写作 {@code Student::getId}
- * @param parentFactory 顶部数据工厂方法
- * @param childrenSetter children的setter对应的lambda,可以写作 {@code Student::setChildren}
- * @param isParallel 是否并行处理
- * @param 此处是元素类型
- * @param 此处是id的泛型限制
- * @return list 组装好的树
- * @author VampireAchao
- */
- private static , T> Function