类 TreeUtils

java.lang.Object
cn.valot.common.data.tree.TreeUtils

public class TreeUtils extends Object
Tree 工具类
作者:
sa@linkot.cn
  • 构造器详细资料

    • TreeUtils

      public TreeUtils()
  • 方法详细资料

    • marshal

      public static <T extends Tree<T>, R> List<T> marshal(List<T> list, TreeUtils.KeyFunc<T,R> keyFunc, TreeUtils.KeyFunc<T,R> pKeyFunc, R rootValue)
      将集合排列为树形集合
      类型参数:
      T - 实现 Tree 接口的类
      R - Key类型
      参数:
      list - 集合对象
      keyFunc - 获取 key 的函数,通常为 ::getId()
      pKeyFunc - 获取父 key 的函数,通常为 ::getPid()
      rootValue - 根节点的父 key
      返回:
      排列后的树形集合
    • unmarshal

      public static <T extends Tree<T>, R> List<T> unmarshal(List<T> tree)
      将树形结构展开为 list
      参数:
      tree - 树形 list
      返回:
      list
    • expand

      public static <T extends Tree<T>, R> void expand(List<T> nodes, List<T> result)
      将树形节点展开为 list,并添加进 result
      参数:
      nodes - 树形 list
      result - 结果集