如何询问二维Java数组的行数?

bla*_*haw 13 java

我该如何询问二维数组它有多少行?

cle*_*tus 16

首先,Java技术上没有二维数组:它有数组数组.所以在Java中你可以这样做:

String arr[][] = new String[] {
  new String[3],
  new String[4],
  new String[5]
};
Run Code Online (Sandbox Code Playgroud)

我想要了解的是上面不是矩形(正如一个真正的2D数组).

那么,你的数组数组是按行,然后按行或行然后列?如果它是行然后列,那么很容易:

int rows = arr.length;
Run Code Online (Sandbox Code Playgroud)

(来自上面的例子).

如果您的数组是列然后行,那么您就遇到了问题.你可以这样做:

int rows = arr[0].length;
Run Code Online (Sandbox Code Playgroud)

但这可能由于多种原因而失败:

  1. 数组必须为0,在这种情况下,您将获得异常; 和
  2. 您假设第一个数组元素的长度是行数.如上例所示,这不一定正确.

数组是一个粗糙的工具.如果你想要一个真正的2D对象,我强烈建议你找到或写一个行为正确的类.


cam*_*ckr 9

Object[][] data = ...
System.out.println(data.length); // number of rows
System.out.println(data[0].length); // number of columns in first row
Run Code Online (Sandbox Code Playgroud)


Jé *_*eue 5

int[][] ia = new int[5][6];
System.out.println(ia.length);
System.out.println(ia[0].length);
Run Code Online (Sandbox Code Playgroud)