类 TreeUtils

java.lang.Object
com.elitesland.ystdms.ss.api.rpc.TreeUtils

public class TreeUtils extends Object
  • 方法详细资料

    • buildTree

      public static <T extends TreeNode<T>> List<T> buildTree(UUID id, boolean sort, List<T> treeNodes)
      将传入的树列表转换为树形结构,并且排序
      类型参数:
      T - 实现 TreeNode 的类
      参数:
      id - 最开始构建的顶端ID
      sort - 是否需要排序
      treeNodes - 树类列表
      返回:
      最终树形结构
    • buildTree

      public static <T extends TreeNode<T>> List<T> buildTree(UUID id, boolean sort, Map<UUID,T> nodeIdMap, Map<UUID,List<T>> nodePidMap)
      将传入的 Map 转换为树形结构,并且不排序 map 一般由外部使用 redis 存储,如果没有存储,可调用 buildTree(List treeNodes, boolean sort) 方法,但是转换会影响效率
      类型参数:
      T - 实现 TreeNode 的类
      参数:
      id - 最开始构建的顶端ID
      sort - 是否需要排序
      nodeIdMap - Map, key: ID, value: 节点
      nodePidMap - Map, key: 父ID, value: 相同父ID的树列表
      返回:
      最终树形结构
    • treeToList

      public static <T extends TreeNode<T>> void treeToList(List<T> treeNodes, List<T> result, UUID pid)
      树转
      参数:
      treeNodes -
      pid -
    • searchParent

      public static <T extends TreeNode<T>> List<T> searchParent(List<T> treeNodes, List<UUID> ids)
      类型参数:
      T -
      参数:
      treeNodes -
      ids -
      返回:
    • searchParent

      public static <T extends TreeNode<T>> List<T> searchParent(List<T> result, List<T> treeNodes, UUID id)
      递归搜索节点
      类型参数:
      T -
      参数:
      result -
      treeNodes -
      id -
      返回: