我有这样的代码:
Object [] array=new Object array [5];
array[0]= new Object[3];
array[1]=new Object [10];
array[2]=new Object [7];
...
如何访问数组[1]的第5个元素?如果它是一个二维数组,我会说:
Object o=array [1][5];
但是我不想要2D数组因为我不想浪费内存因为数组的大小是不同的
如果有人能回答我这个问题就太好了。
顺便说一句,我不想使用向量等…
谢谢
你可以这样做:
//This creates a 5 by ? array
Object[][] array = new Object[5][];
array[0] = new Object[3];
array[1] = new Object[10];
array[2] = new Object[7];
....
编辑(感谢评论):
array
是一个数组的数组。array
中的每个元素都指向一个object数组。内存不会因为拥有比需要更多的元素而浪费。
它看起来像这样
[a00][a01][a02]
[a10][a11][a12][a13][a14][a15][a16][a17][a18][a19]
[a20][a21][a22][a23][a24][a25][a12]
如果你现在想访问第二个数组的第6个元素,你可以这样做:
Object myObj = array[1][5];