2013-10-28 43 views
1

我现在有一个二维数组看起来相当于:如何打印不同索引长度的二维数组?

int[] my2Darray = {{1, 2}, {3, 4, 5}, {1}}; 
//the second dimensions can and do vary 

我想知道我怎么能自动打印该数组的所有元素。

我的代码打印目前的样子:

for(int t = 0; t < movieactorsbulk.size(); t++) { 
     temparray = movieactorsbulk.get(t).split("\\s"); 
     movieactorsindiv[t] = new String[temparray.length]; 
     for(int v = 0; v < temparray.length; v++) { 
      movieactorsindiv[t][v] = temparray[v]; 
     } 
    } 

movieactorsbulk包括:[a00011974 a00011975,a00011975 a00011974,a77777777]

所以我试图到ArrayList movieactorsbulk的指标分开),并把它变成一个二维数组(movieactorsindiv),然后打印一切,无论大小。

现在我知道我的问题是,最后一次围绕代码拆分“a77777777”并将其放入movieactorsindiv [2] [0]中,但是当我尝试基于temparray.length打印时,它仅打印第一个作为temparray []的索引仅包含当时的“a77777777”。我如何打印movieactorsindiv([0] [0]到[x] [y];其中x和y可以是任何数字)的所有索引?

任何帮助,将不胜感激。对不起,如果这个问题不容易理解。 :S

回答

2

尝试使用遍历这个骨架:

for (int i = 0; i < matrix.length; i++) { 
    for (int j = 0; j < matrix[i].length; j++) { 
     // print matrix[i][j] 
    } 
} 

它考虑其中每一行的列可以是不同长度的情况下。它适用于任何高度和宽度(甚至不同宽度)的2D矩阵,并且特别适合您的问题很容易。

+1

非常感谢您的帮助。你提出的建议对我来说比我想要做的更有意义。 :) –

+0

@SomeoneSomeone我很高兴听到!如果此答案对您有所帮助,请点击左侧的复选标记以考虑[接受](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) ;) –