2013-04-13 22 views
2

我有这样的代码:如何处理对象阵列的一个目的数组

Object [] array=new Object array [5]; 
array[0]= new Object[3]; 
array[1]=new Object [10]; 
array[2]=new Object [7]; 
... 

如何访问数组的第5个元素[1]。 如果它是一个二维数组,我会说:

Object o=array [1][5]; 

,但我不想二维数组,因为我不想浪费内存,因为大小从阵列变化到阵列。

这将是巨大的,如果有人能回答我这个问题..

顺便说一句,我不希望使用矢量等..

谢谢

+0

你尝试自己做任何事如果你这样做了,你就不会这么问了。 – skuntsel

+0

创建二维数组以保存数组[array] http://www.leepoint.net/notes-java/data/arrays/arrays-2D.html –

回答

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] 

如果你现在想进入第2个数组,你会做这样的第六元素:

Object myObj = array[1][5]; 
+1

此外,您可以使用Object o = array [1] [5 ];'访问元素。 –

+1

可能值得一提的是,二维数组*是一个数组数组。 – christopher

+0

谢谢大家:)非常有帮助 –

相关问题