类 TreeListUtils

java.lang.Object
cn.iosd.utils.common.TreeListUtils

public class TreeListUtils extends Object
将列表转换为树形结构工具类
作者:
ok1996
  • 构造器详细资料

    • TreeListUtils

      public TreeListUtils()
  • 方法详细资料

    • convert

      public static <T, D> List<T> convert(List<T> origList, String childrenFieldName, Predicate<D> isRootPredicate, Function<T,D> getId, Function<T,D> getParentId)
      将原始列表转换为树形结构的工具方法
      类型参数:
      T - 列表元素类型
      D - ID元素类型
      参数:
      origList - 原始列表
      childrenFieldName - 子节点列表在实体中的字段名称
      isRootPredicate - 判断是否为根节点的断言条件
      getId - 获取实体的ID的函数
      getParentId - 获取实体的父ID的函数
      返回:
      转换后的树形结构列表
    • convert

      public static <T, V, D> List<T> convert(List<T> origList, String childrenFieldName, Predicate<D> isRootPredicate, Function<T,D> getId, Function<T,D> getParentId, Map<D,V> idData, String dataFieldName, Function<T,D> getDataRelationId)
      将原始列表转换为树形结构的工具方法

      并将关联对象添加进去树形结构

      类型参数:
      T - 列表元素类型
      V - 关联数据元素类型
      D - ID元素类型
      参数:
      origList - 原始列表
      childrenFieldName - 子节点列表在实体中的字段名称
      isRootPredicate - 判断是否为根节点的断言条件
      getId - 获取实体的ID的函数
      getParentId - 获取实体的父ID的函数
      idData - ID与关联数据的映射
      dataFieldName - 关联数据字段在实体中的名称
      getDataRelationId - 获取关联数据与实体关系的ID的函数
      返回:
      转换后的树形结构列表