如何创建一个树状结构,其中有不同类型的节点,每个节点都可以引用任何节点


例如

,节点的类型为 ABC

这些节点中的每一个都是不同数量的子节点。 A可以有 2 个孩子,B可以有 3 个孩子,依此类推。现在,A是否会提到BC还不清楚先验的。

如何为n节点执行此操作,其中每个节点都是不同类的对象,并且可以引用任何n-1节点?

可以创建一个 Node 类,并在构造函数中传递子节点的限制。

class Node implements iNode
{
  private List<iNode> childNodes;
  private int maxChildren;
  ...
  public Node(int maxChildren)
  {
    this.maxChildren = maxChildren;
    this.childNodes = new ArrayList<iNode>();
  }
  public void addChildNode(iNode child) throws SomeCustomException
  {
    if (childNodes.size() < maxChildren) {
      childNodes.add(child);
    } else {
      throw new SomeCustomException();
    }
  }
}

最新更新