开发者

Is there a way I can create a variable number of arrays using a loop in java?

I am wondering if there is a way to create arrays in java based on a variable amount. So if I needed to create 10 arrays a loop would make 10(all named sequentially). But if I did not need 10 arrays the loop would create and many as needed.

I am envisioning something like this:

for(i=0 up to i=imax)

create arrayi

where i is the variable 开发者_如何学JAVAin the for loop.

If imax is set to 3 it would produce: array0,array1,array2,array3

thanks.


Yes; you can create an array of arrays. Let's say that you want arrays of 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

However, you can not dynamically create variables called array0, array1, and so on. With multidimensional arrays, there is no need for such a collection of variables, because you can rather write arrays[0], arrays[1]; this is more flexible as well, since you can index into the array collection with arrays[i], which you couldn't do if you had array0, array1, and so on.


No chance to do this, you have to take the twodimensional array approach...


Java doesn't allow this sort of meta-programming. You cannot programmatically declare variables.

As @Aasmund writes, what you can do is declare an array to hold your arrays.

For your specific question, this is what the result would like:

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];
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜