我需要继续在树中创建节点。我希望将它们命名为node1
,node2
,node3
等。
我知道如何手动(比如我有一个Node
类)进行基本对象实例化:
Node node1 = new Node();
我的问题是,如果用户输入总节点数(k
),我可以自动创建此节点:node1
,node2
,{{1 },...,node3
?
感谢您的任何建议;我觉得我总是在JAVA中遇到这个概念,以及如何找到一个优雅的解决方案......
答案 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]
。