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

标签 java data-structures

例如,节点的类型为ABC

每个节点都有不同数量的子节点。 A 可以有 2 个 child ,B 可以有 3 个 child ,依此类推。现在,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();
    }
  }
}

关于java - 如何创建一个树状结构,其中有不同类型的节点,并且每个节点可以引用任何节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22087657/

相关文章:

java - 有没有什么好的解释java语言的库?

java - 哪些 servlet 是预初始化的好成员?

java - RandomAccessFile读取错误的整数

C# 单元测试 : iterating through expected results list

mysql - AWS DynamoDB 表结构?

java - Excel 导出中的乱码

java - 运行进度条 View 线程 - Android

data-structures - DAG是否有支持有效编辑的数据结构?

data-structures - Tree是数据结构还是抽象数据类型?

c++ - 删除链表中的节点