我与概念略有混淆......当打印出[20] [20]的2D阵列时。答案是120 ......但无法弄清楚...它是如何计算的?
答案 0 :(得分:2)
[20] [20]的2D数组的长度实际上只有20 ...因为2D数组只是一个数组数组。 “外部”数组是长度为20的数组,其每个元素是一个长度为20的数组。
public class Test
{
public static void main(String[] args)
{
int[][] array = new int[20][20];
System.out.println(array.length); // Prints 20
}
}
如果要查找多维数组的 total 元素数,则需要对每个子数组的长度求和。例如:
public int findTotalLength(int[][] array)
{
int sum = 0;
for (int[] subArray : array)
{
sum += subArray.length;
}
return sum;
}
请注意,您不能只获取第一个子数组的长度并将“外部”长度乘以,因为其他子数组可以具有不同的长度。 (也可能有空引用,上面的代码没有尝试检测。)
答案 1 :(得分:-1)
len = rows * columns(对于2D数组) 你可以猜到3D 2D数组只是程序员的概念,内存中的所有数据都以串行方式存储