2

我将需要继续在树中创建节点。我想将它们命名为node1,node2node3

我知道如何Node使用基本对象实例化手动(比如我有一个类):

Node node1 = new Node();

我的问题是,如果用户输入总节点数 ( k),我是否可以自动创建它:node1, node2, node3, ..., nodek

感谢您的任何建议;我觉得我在 JAVA 中总是被这个概念所困扰,以及如何找到一个优雅的解决方案......

4

2 回答 2

3

您可以使用集合阅读此集合教程

例如一个List

例子:

int n= someInteger;
List<Node> nodeList = new ArrayList<>(n);
nodeList.add(new Node(0));
nodeList.add(new Node(1));
.
.
.
nodeList.add(new Node(n));

或者,如果您按顺序进行设置,则使用循环

for(int i=0;i<n;i++){
  nodeList.add(new Node());
}
于 2013-07-09T03:49:36.993 回答
1

变量只是为程序员提供方便,甚至在您的代码编译后也不会被跟踪。因此,不可能“动态地”命名变量。

但是,您可以Node[]按照建议使用 a :

Node[] nodes = new Node[k];  // creates an array of length k

for (int i = 0; i < k; i++)  // adds a new node at each index
    nodes[i] = new Node();

现在,您的“nodeK”将是nodes[k-1].

于 2013-07-09T03:50:02.900 回答