我正在准备OCAJP考试,我在java中遇到了多维数组的问题。在YouTube上观看视频教程之后,我想我对它是如何工作有了一个了解。它说下面的语句创建了两个双维数组和一个数组来保存两个数组。因此它是一个三维数组。
int arr[][][] = new int[2][4][3];
所以我想得到证实,如果我想要一个五维数组,这个陈述就可以了。
int arr[][][] = new int[4][4][3];
答案 0 :(得分:2)
尝试以几何方式将其可视化。
一维数组只是一个列表:new int[2]
二维数组是矩形网格(或列表列表):new int[2][3]
三维数组是长方体(或矩形列表或列表
列表清单):new int[2][3][4]
在此之后它会变得更难,但是:
4D数组是一个长方体列表(列表
列表清单列表new int[2][3][4][5]
5D数组是一个长方体网格(列表
列表清单列表):new int[2][3][4][5][6]
答案 1 :(得分:0)
int arr[][][] = new int[4][4][3];
仍然是一个三维数组。
5维数组看起来像
int arr[][][][][] = new int[4][4][3][4][3];
答案 2 :(得分:0)
int arr[][][][][] = new int[4][4][3][X][X];
x可以是任何数字。这是一个5维数组。
答案 3 :(得分:0)
想象一个立方体。
int arr[][][] = new int[2][4][3];
这里有2片4x3阵列。
int arr[][][] = new int[4][4][3];
有了这个,你有4片4x3的数组。
所以,它仍然是一个三维数组。 但是,您可以在那里保存4个不同的二维数组。
答案 4 :(得分:0)
每次添加新维度时,元素数量都会呈指数级增长。 int [4] [4] [3]表示具有4 * 4 * 3 = 48个元素的3维数组。创建一个5维数组添加2个方括号int [2] [2] [2] [2] [2]这是一个包含2 ^ 5个元素的数组(2 * 2 * 2 * 2 * 2)< / p>