如何在循环中声明对象变量名称

时间:2014-06-08 03:21:29

标签: java

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类对象。

3 个答案:

答案 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++;

    }