Interface TreeEntry<K,V>

Type Parameters:
K - 节点的value类型
V - 节点的key类型
All Superinterfaces:
Map.Entry<K,V>
All Known Implementing Classes:
LinkedForestMap.TreeEntryNode

public interface TreeEntry<K,V> extends Map.Entry<K,V>
允许拥有一个父节点与多个子节点的Map.Entry实现, 表示一个以key作为唯一标识,并且可以挂载一个对应值的树节点, 提供一些基于该节点对其所在树结构进行访问的方法
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    获取以当前节点作为根节点的树结构,然后确认该树结构中当前节点是否存在指定子节点
    default boolean
    获取以当前节点作为叶子节点的树结构,然后确认该树结构中当前节点是否存在指定父节点
    void
    forEachChild(boolean includeSelf, Consumer<TreeEntry<K,V>> nodeConsumer)
    获取以当前节点作为根节点的树结构,然后遍历所有节点
    getChild(K key)
    获取以当前节点作为根节点的树结构,然后获取该树结构中的当前节点的指定子节点
    获取以当前节点作为根节点的树结构,然后获取该树结构中的当前节点的全部子节点
    获取当前节点直接关联的子节点
    获取当前节点直接关联的父节点
    getParent(K key)
    获取以当前节点作为叶子节点的树结构,然后获取该树结构中当前节点的指定父节点
    获取以当前节点作为叶子节点的树结构,然后获取该树结构的根节点
    int
    获取以当前节点作为叶子节点的树结构,然后获取当前节点与根节点的距离
    default boolean
    当前节点是否有子节点
    default boolean
    当前节点是否存在直接关联的父节点

    Methods inherited from interface java.util.Map.Entry

    equals, getKey, getValue, hashCode, setValue
  • Method Details

    • getWeight

      int getWeight()
      获取以当前节点作为叶子节点的树结构,然后获取当前节点与根节点的距离
      Returns:
      当前节点与根节点的距离
    • getRoot

      TreeEntry<K,V> getRoot()
      获取以当前节点作为叶子节点的树结构,然后获取该树结构的根节点
      Returns:
      根节点
    • hasParent

      default boolean hasParent()
      当前节点是否存在直接关联的父节点
      Returns:
      是否
    • getDeclaredParent

      TreeEntry<K,V> getDeclaredParent()
      获取当前节点直接关联的父节点
      Returns:
      父节点,当节点不存在对应父节点时返回null
    • getParent

      TreeEntry<K,V> getParent(K key)
      获取以当前节点作为叶子节点的树结构,然后获取该树结构中当前节点的指定父节点
      Parameters:
      key - 指定父节点的key
      Returns:
      指定父节点,当不存在时返回null
    • containsParent

      default boolean containsParent(K key)
      获取以当前节点作为叶子节点的树结构,然后确认该树结构中当前节点是否存在指定父节点
      Parameters:
      key - 指定父节点的key
      Returns:
      是否
    • forEachChild

      void forEachChild(boolean includeSelf, Consumer<TreeEntry<K,V>> nodeConsumer)
      获取以当前节点作为根节点的树结构,然后遍历所有节点
      Parameters:
      includeSelf - 是否处理当前节点
      nodeConsumer - 对节点的处理
    • getDeclaredChildren

      Map<K,TreeEntry<K,V>> getDeclaredChildren()
      获取当前节点直接关联的子节点
      Returns:
      节点
    • getChildren

      Map<K,TreeEntry<K,V>> getChildren()
      获取以当前节点作为根节点的树结构,然后获取该树结构中的当前节点的全部子节点
      Returns:
      节点
    • hasChildren

      default boolean hasChildren()
      当前节点是否有子节点
      Returns:
      是否
    • getChild

      TreeEntry<K,V> getChild(K key)
      获取以当前节点作为根节点的树结构,然后获取该树结构中的当前节点的指定子节点
      Parameters:
      key - 指定子节点的key
      Returns:
      节点
    • containsChild

      default boolean containsChild(K key)
      获取以当前节点作为根节点的树结构,然后确认该树结构中当前节点是否存在指定子节点
      Parameters:
      key - 指定子节点的key
      Returns:
      是否