我有一个二维数组。是否有必要固定大小,以使每一行都具有相同的列数?
data = {{ 2, 6, 3, 3, 1 },
{ 4, 6, 3, 7, 5 },
{ 8, 3, 0, 0, 0},
{ 13, 12, 0, 0, 0 },
{ 5, 1, 3, 9, 5, 0}}
发布于 2010-10-17 10:43:11
{{ 0, 2, 6, 3, 3, 1 },
{ 1, 4, 6, 3, 7, 5 },
{ 0, 8, 3 },
{ 1, 13, 12 },
{ 0, 5, 1, 3, 9, 5 }}
Java中数组的数组不必是“矩形”的。只需去掉标记(-1)和后面的“空”数据,使用子数组的.length即可。
发布于 2010-10-17 10:43:07
您可以省略所有忽略的值;java2d数组只是一个数组的数组。它们没有理由都是相同的长度。
发布于 2010-10-17 12:32:19
不,没有必要为java的二维数组中的每一行固定列的大小。
作为对"TofuBeer“答案的扩展,您可以动态分配2D数组,如下所示。下面的示例显示了三角矩阵:
int[][] array2D;
//Allocate each part of the two-dimensional array individually.
array2D = new int[10][]; // Allocate array of rows
for (int r=0; r < array2D.length; r++) {
array2D[r] = new int[r+1]; // Allocate a row
}
//Print the triangular array (same as above really)
for (int r=0; r<array2D.length; r++) {
for (int c=0; c<tarray2D[r].length; c++) {
System.out.print(" " + array2D[r][c]);
}
System.out.println("");
}
https://stackoverflow.com/questions/3951779
复制相似问题