public class TreeBuilder<T,TSubTree extends T,TIdentity> extends Object
| Constructor and Description |
|---|
TreeBuilder(Function<T,TIdentity> identityGetter,
Function<T,Optional<TIdentity>> parentIdentityGetter,
BiConsumer<TSubTree,T> addChild)
构造一个
TreeBuilder。 |
TreeBuilder(Function<T,TIdentity> identityGetter,
Function<T,Optional<TIdentity>> parentIdentityGetter,
BiConsumer<TSubTree,T> addChild,
Comparator<? super T> defaultComparator)
构造一个
TreeBuilder。 |
| Modifier and Type | Method and Description |
|---|---|
List<T> |
buildTree(Collection<T> nodes)
将节点构建成树。
|
List<T> |
buildTree(Collection<T> nodes,
Comparator<? super T> comparator)
将节点构建成树。
|
public TreeBuilder(Function<T,TIdentity> identityGetter, Function<T,Optional<TIdentity>> parentIdentityGetter, BiConsumer<TSubTree,T> addChild)
TreeBuilder。不指定用于排序的 Comparator。identityGetter - 从节点中获取其标识的逻辑parentIdentityGetter - 获取父节点标识的逻辑addChild - 添加子节点的逻辑public TreeBuilder(Function<T,TIdentity> identityGetter, Function<T,Optional<TIdentity>> parentIdentityGetter, BiConsumer<TSubTree,T> addChild, @Nullable Comparator<? super T> defaultComparator)
TreeBuilder。identityGetter - 从节点中获取其标识的逻辑parentIdentityGetter - 获取父节点标识的逻辑addChild - 添加子节点的逻辑defaultComparator - 默认的 Comparator,用于排序public List<T> buildTree(Collection<T> nodes)
defaultComparator 进行排序。如果 defaultComparator
注意,该方法会直接操作 nodes 列表中的节点,并没有做深拷贝, 注意避免 nodes 中的元素产生变化所带来的意料之外的影响。
nodes - 平铺的节点列表public List<T> buildTree(Collection<T> nodes, @Nullable Comparator<? super T> comparator)
!!注意:该方法会直接操作 nodes 列表中的节点,并没有做深拷贝, 注意避免 nodes 中的元素产生变化所带来的意料之外的影响。
nodes - 平铺的节点列表comparator - 用于节点的排序。
若为 null,则使用 defaultComparator;
若 defaultComparator 也为 null,则不排序。
仅影响调用 addChild 的顺序,如果操作对象本身对应的控制了子节点的顺序,无法影响其相关逻辑。Copyright © 2026. All rights reserved.