如何打印不同索引长度的2D数组?

时间:2013-10-28 21:55:31

标签: java arrays printing arraylist automation

我目前有一个2D数组,看起来相当于:

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的索引分开并将其放入2D数组(movieactorsindiv),然后打印所有内容。无论大小。

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

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

1 个答案:

答案 0 :(得分:2)

尝试使用遍历的骨架:

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

考虑到每行的列可以具有不同长度的情况。它适用于任何高度和宽度(即使是不同宽度)的二维矩阵,特别适合您的问题。