我有这段代码:
Object [] array=new Object array [5];
array[0]= new Object[3];
array[1]=new Object [10];
array[2]=new Object [7];
...
如何访问数组[1]的第5个元素。 如果它是2D数组,我会说:
Object o=array [1][5];
但我不想要2D数组,因为我不想浪费内存,因为数组的大小因数组而异。
如果有人能回答我这个问题会很棒。
顺便说一句我不想使用矢量等...
谢谢
答案 0 :(得分:5)
你可以这样做:
//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
中的每个元素都指向一个对象数组。
内存不会浪费在拥有比需要更多的元素上。
看起来像这样
[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];