java - 获取二维数组的行数和列数而不对其进行迭代

标签 java matrix multidimensional-array

我有一个接受二维数组的函数。我想知道是否有办法获取二维数组的行和列而不必对其进行迭代。方法签名不可更改。

函数在 ninetyDegRotator 类中。

public static int [][] rotate(int [][] matrix){

    int [][] rotatedMatrix = new int[4][4];//need actual row n col count here
    return rotatedMatrix; //logic

}

主要代码是

public static void main(String args[]){

    int [][] matrix = new int[][]{
            {1,2,3,4},
            {5,6,7,8},
            {9,0,1,2},
            {3,4,5,6}
    };

    System.out.println("length is " + matrix.length);
    int [][] rotatedMatrix = ninetyDegRotator.rotate(matrix);
} 

matrix.length 也给我 4。所以我猜它是行数,它给出了本身包含数组的一维数组中的引用数。那么有没有一种不用迭代就可以得到计数的方法呢?

最佳答案

如果保证每一行的长度相同,就使用:

int rows = matrix.length;
int cols = matrix[0].length;  // assuming rows >= 1

(在数学中这当然是有保证的,但在大多数语言中很可能有一个数组数组,其中内部数组的长度都相同)。

关于java - 获取二维数组的行数和列数而不对其进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21363104/

相关文章:

java - 如何将 ShortBuffer 转换为 Buffer[]?

java - Java 中的注解会导致编译时传递依赖吗?

c# - 多语言开发

python - Numpy:基于单独的向量交换二维数组的位置

c++ - 具有已知矩阵的模板矩阵表达式

php - 在 PHP 中迭代多维数组时出现问题

c - 多维数组中的字符串初始化

java - 自动重新加载属性文件

c - 使用 MPI 库的递归函数

python - 从 numpy 数组中生成多维 null 或 1