public class Node<E>{
Node p,l,r;
int height;
String s;
/** class body**/
};
String[] S=new String[5000];
int i = 0;
while (i < 5000){
Node<E> x=new Node<E>();
x.s=S[i];
i++;
}
我想制作5000个Node对象。 上面的代码每次分配相同的变量名称x,但我想要不同的变量名称。 那么如何声明5000类变量名而不用手动声明它。 有什么东西可以让我轻松创建5000 Node类对象。
答案 0 :(得分:1)
在Java中:如果您不想更改阵列的大小,可以使用一个。否则,您可以使用动态数组,例如ArrayList
:
int size = 5000;
Node[] S = new Node[size];
for (int i = 0; i < size; i++) {
S[i] = new Node();
}
修改: Assigning a name dinamically in Java is not possible。但是,使用上面的方法,您可以通过
访问元素S[index]
其中index将在[0,size-1]
答案 1 :(得分:0)
爪哇: 我建议制作一个大小为5000的节点数组。这将允许你循环遍历这个数组,在每个单独的节点中放置任何值。
public void node() {
Node[] allNodes = new Node[5000];
//Print out all node values
for (Node currentNode : allNodes) {
currentNode.setNodeValue("Some value");
System.out.println("Name: " + currentNode.getNodeValue());
}
}
在这个例子中,我正在创建一个大小为5000的Node数组。然后,我使用增强的for循环来遍历数组。我将“allNodes”数组中的每个节点值设置为“Some value”,然后打印它。
当您需要再次访问这些值时,只需创建另一个循环即可获取每个值。
编辑:你不能在Java中“批量命名变量”。您可以创建存储多个对象的数组,但它们没有特定的名称。您可以通过指向数组中的索引来访问数组项
答案 2 :(得分:0)
我们不能在不使用数组的情况下执行此操作,因为无法更改变量的名称。
通过创建节点数组来创建5000个节点对象 节点[] x =新节点[大小];
请参阅此代码段
int size = 5000;
String[] S = new String[size];
int i = 0;
Node[] x = new Node[size];
while (i < 5000) {
x[i].s = S[i];
i++;
}