我试图通过许多来源找到解决方案。但徒劳无功。我有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数组做同样的事情呢?
答案 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
。