3D数组赋值

3D array assigning values

如果可能的话,我可以使用以下格式来简化将 java 中的值分配给 3D 数组的过程吗?

    int [][][]array = new int[3][][];

    array[0] = new int [4][5];
    array[1] = new int [5][5];
    array[2] = new int [3][5];


    array[0] = {{1,2,3,4,5} , {1,2,3,4,5} , {1,2,3,4,5} , {1,2,3,4,5}};
    array[1] = {{1,2,3,4,5} , {1,2,3,4,5} , {1,2,3,4,5} , {1,2,3,4,5}, {1,2,3,4,5}};
    array[2] = {{1,2,3,4,5} , {1,2,3,4,5} , {1,2,3,4,5}};

你可以这样做:

int[][][] array = {
        {{1,2,3,4,5} , {1,2,3,4,5} , {1,2,3,4,5} , {1,2,3,4,5}},
        {{1,2,3,4,5} , {1,2,3,4,5} , {1,2,3,4,5} , {1,2,3,4,5}, {1,2,3,4,5}},
        {{1,2,3,4,5} , {1,2,3,4,5} , {1,2,3,4,5}},
};

另一种选择:

int[][] array1 = {{1,2,3,4,5} , {1,2,3,4,5} , {1,2,3,4,5} , {1,2,3,4,5}};
int[][] array2 = {{1,2,3,4,5} , {1,2,3,4,5} , {1,2,3,4,5} , {1,2,3,4,5}, {1,2,3,4,5}};
int[][] array3 = {{1,2,3,4,5} , {1,2,3,4,5} , {1,2,3,4,5}};
int[][][] array = {array1, array2, array3};

初始化表达式{...}只能在声明时使用。

分配此类数据的最简单和最干净的方法是将数据放入文件中,这里一个文本文件就足够了,然后使用嵌套的for循环读取它。这避免了对数据进行硬编码,并且无需更改代码即可轻松更改数据。