3

我想知道是否有一种方法可以根据可变数量在 java 中创建数组。因此,如果我需要创建 10 个数组,则循环将产生 10 个(全部按顺序命名)。但是,如果我不需要 10 个数组,则循环将根据需要创建多个数组。

我正在设想这样的事情:

for(i=0 up to i=imax)

create arrayi

其中 i 是 for 循环中的变量。

如果 imax 设置为 3,它将产生:array0,array1,array2,array3

谢谢。

4

3 回答 3

7

是的; 您可以创建一个数组数组。假设您想要以下数组int

int numberOfArrays = 10;
int[][] arrays = new int[numberOfArrays][];
for (int i = 0; i < numberOfArrays; i++)
    arrays[i] = new int[x]; // Where x is the size you want array i to be

但是,您不能array0动态创建名为、等的变量array1。对于多维数组,不需要这样的变量集合,因为您可以写arrays[0], arrays[1]; 这也更加灵活,因为您可以使用 来索引数组集合,而如果您拥有,等等arrays[i]则无法做到这一点。array0array1

于 2011-06-03T21:36:39.300 回答
0

没有机会这样做,你必须采取二维数组的方法......

于 2011-06-03T21:34:04.847 回答
0

Java 不允许这种元编程。您不能以编程方式声明变量。

正如@Aasmund 所写,您可以做的是声明一个数组来保存您的数组。

对于您的具体问题,结果如下:

String[][] array = new String[IMAX][];
for (int i = 0; i < array.length; ++i) {
  array[i] = createArray(...);
}

// cannot use 'array2', but something close:
String[] contents = array[2];
于 2011-06-03T21:45:28.213 回答