查找未知维度的2D数组的最大高度和宽度(Java)

查找未知维度的2D数组的最大高度和宽度(Java),java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,在Java中,我希望从简单图像数组的两个维度中获得最大元素,即: int getWidth(Color[][] pixels){ //return max of dimension 1 } int getHeight(Color[][] pixels){ //return max of dimension 2 } 我知道如何在Java中对1D数组执行此操作,我只需在I如果我们考虑2D数组,则它是一个数组,引用其他数组。 如果我们考虑这样的矩阵: { {1,2,3},

在Java中,我希望从简单图像数组的两个维度中获得最大元素,即:

int getWidth(Color[][] pixels){
    //return max of dimension 1
}

int getHeight(Color[][] pixels){
    //return max of dimension 2
}
我知道如何在Java中对1D数组执行此操作,我只需在I长度
是否仍然有效?
二维数组只是一个数组,其中的项是其他数组。由于
.length
适用于1D数组,因此它肯定适用于所有数组-维度的数量无关紧要

但是,
pixels.length
提供父数组的长度,即包含所有其他数组的数组。要获得第二维度的长度,必须获得其中数组的长度

那么,我们如何得到第二维度的长度呢? 我们知道所有这些数组都必须具有相同的长度,所以我们只使用位置0处的数组,因为它是唯一一个我们可以100%确定始终存在的数组-一个数组应该始终至少有一个元素


然后,我们得到数组的长度-<代码>像素[0 ]。长度

< P>如果我们考虑2D数组,则它是一个数组,引用其他数组。 如果我们考虑这样的矩阵:

{
    {1,2,3},
    {4,6},
    {7,7,8,9}
}
因此,上述矩阵的高度为3=行数

矩阵宽度为4=最大值(每个数组中的元素数)

int-getHeight(颜色[]像素){
返回像素。长度;
}
int getWidth(颜色[]像素){
int maxCount=0;
int行=像素。长度;
对于(int i=0;i
啊,太好了,这正是我需要知道的。谢谢,如果可能的话我会接受的。太棒了,很高兴我能帮上忙:D
int getHeight(Color[][] pixels) {
    return pixels.length;
}

int getWidth(Color[][] pixels) {
    int maxCount = 0;
    int rows = pixels.length;
    for (int i = 0; i < rows; i++) {
        if (maxCount < pixels[i].length) {
            maxCount = pixels[i].length;
        }
    }
    return maxCount;
}