Interface Node<ID,C extends Node<ID,C>>

All Known Implementing Classes:
TreeNode

public interface Node<ID,C extends Node<ID,C>>
Since:
2022.0.3
Author:
CJ (power4j@outlook.com)
  • Method Details

    • getParentId

      @Nullable ID getParentId()
      父节点ID,可为null
      Returns:
      返回父节点ID
    • getId

      ID getId()
      本节点ID
      Returns:
      返回ID
    • appendChild

      void appendChild(C child)
      添加子节点
      Parameters:
      child - 子节点
    • appendChildren

      default void appendChildren(Collection<? extends C> list)
      添加子节点
      Parameters:
      list - 子节点
    • getChildren

      @Nullable List<C> getChildren()
      子节点
      Returns:
      返回子节点,无子节点返回null
    • childAt

      @Nullable default C childAt(int index)
      访问子节点
      Parameters:
      index - 索引
      Returns:
      子节点不存在时返回null
    • findFirstChild

      default Optional<C> findFirstChild(Predicate<? super C> predicate)
      查找子节点
      Parameters:
      predicate - 断言
      Returns:
      子节点不存在返回Empty
    • hasParent

      default boolean hasParent()
      是否存在父级
      Returns:
      true表示父级存在
    • hasChildren

      default boolean hasChildren()
      是否存在子节点
      Returns:
      ture表示至少存在一个子节点