我在Java中有一个2D二进制数组,它基本上是一个值表,我想知道它有多少行......
它在其他地方(和分配)声明如下:
double[][] table;
然后传递给一个函数......
private void doSomething(double[][] table) { }
在我的函数中,我想知道每个维度的长度,而不必将它们作为参数传递.我可以为列数做这个,但不知道如何为行做...
int cols = table[0].length; int rows = ?;
我怎么做?
我可以说......
int rows = table.length;
为什么不给行x cols?
在Java中,2D数组只不过是一个数组数组.
这意味着您可以轻松获得如下行数:
int rows = array.length;
这也意味着这样的数组中的每一行可以具有不同数量的元素(即每行可以具有不同数量的列).
int columnsInFirstRow = array[0].length;
这只会给你第一行中的列数,但第二行可能有更多或更少的列.
您可以指定您的方法仅采用矩形数组,并假设每行的列数与第一行相同.但在这种情况下,我会将2D数组包装在某些Matrix类中(您可能需要编写).
这种数组称为Jagged数组.