如何制作2D数组的2D数组

时间:2015-11-13 16:27:18

标签: java arrays

我试图通过许多来源找到解决方案。但徒劳无功。我有3个2D数组对象:

double[][] W1 = new double[5][10];
double[][] W2 = new double[2][3];
double[][] W3 = new double[4][6];

我希望另一个数组对象包含这3个数组对象。我该怎么做?

我发现可以使用以下

将许多1D数组制作成2D阵列数组
double[][] W = new double[][]{W1, W2, W3}; //provided W1, W2, W3 are 1D arrays.

但是我如何对2D数组做同样的事情呢?

2 个答案:

答案 0 :(得分:6)

一维数组声明为double[],即[]的{​​{1}}。

1D数组的一维数组(2D数组)声明为double,即double[][]的{​​{1}}。

2D阵列(3D阵列)的一维数组声明为[],即double[]的{​​{1}}。

一维3D阵列(一个4D阵列)声明为double[][][],即[] double[][]

3D阵列,2D阵列的1D阵列和1D阵列的2D阵列之间没有实际区别;或者在4D阵列,3D阵列的1D阵列和2D阵列的2D阵列之间。这纯粹是选择考虑它们的方式。

我真的想不起你为什么要使用深深嵌套的数组;我建议你考虑是否存在更好的替代方案。

答案 1 :(得分:2)

因此,您希望从3个2D阵列初始化3D阵列。应该这样做

double[][][] W = {W1, W2, W3};

请注意您不需要new