3D数组分配值

时间:2015-10-04 14:34:48

标签: java arrays dimension

如果可能,我可以使用以下格式简化将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}};

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

你可以这样做:

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};

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