我应该如何询问二维数组它有多少行?
答案 0 :(得分:16)
首先,Java技术上没有二维数组:它有数组数组。所以在Java中你可以这样做:
String arr[][] = new String[] {
new String[3],
new String[4],
new String[5]
};
我想要了解的是上面不是矩形(如真正的二维数组那样)。
那么,你的数组数组是按行,然后是行或行然后是列?如果它是行然后列,那么很容易:
int rows = arr.length;
(来自上面的例子)。
如果您的数组是列,那么行就会出现问题。你可以这样做:
int rows = arr[0].length;
但这可能由于多种原因而失败:
阵列是一种粗糙的工具。如果你想要一个真正的2D对象,我强烈建议你找到或写一个行为正确的类。
答案 1 :(得分:9)
Object[][] data = ...
System.out.println(data.length); // number of rows
System.out.println(data[0].length); // number of columns in first row
答案 2 :(得分:5)
int[][] ia = new int[5][6];
System.out.println(ia.length);
System.out.println(ia[0].length);
答案 3 :(得分:1)
这取决于“多少行”的含义。
首先,二维数组实际上是Java中的一维数组的一维数组。并且不要求二维数组实际上是矩形的,甚至不要求填充第一维中的所有元素。
如果要查找第一维中的元素数,答案就是array.length
。
如果要查找矩形二维数组第二维中的元素数,答案是“array [0] .length。
如果要查找非矩形或稀疏二维数组的第二维中的元素数,答案是未定义的。