我目前有一个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
答案 0 :(得分:2)
尝试使用遍历的骨架:
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
// print matrix[i][j]
}
}
考虑到每行的列可以具有不同长度的情况。它适用于任何高度和宽度(即使是不同宽度)的二维矩阵,特别适合您的问题。