自动分配编号的变量名称

时间:2013-07-09 03:46:44

标签: java

我需要继续在树中创建节点。我希望将它们命名为node1node2node3等。

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

Node node1 = new Node();

我的问题是,如果用户输入总节点数(k),我可以自动创建此节点:node1node2,{{1 },...,node3

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

2 个答案:

答案 0 :(得分:3)

您可以使用集合Read this Collections tutorial

例如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());
}

答案 1 :(得分:1)

变量名称仅仅是程序员的便利,在编译代码后甚至无法跟踪。因此,不可能“动态地”命名变量。

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

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]