Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中创建三维交错数组以存储大小不同的二维数组_Java - Fatal编程技术网

在java中创建三维交错数组以存储大小不同的二维数组

在java中创建三维交错数组以存储大小不同的二维数组,java,Java,假设我有不到十个用java表示矩阵的二维数组。每个数组从0到6枚举。每个数组都要大n*2^enumval,其中n是第0个枚举数组中的元素数,因此我的多维数组几乎是金字塔形的,因此需要一个锯齿状的三维数组。可以创建一个锯齿状的三维阵列吗 int[][] array0 = new int[2][2]; int[][] array1 = new int[4][4]; int[][] array2 = new int[8][8]; int[][] array3 = new int[16][16]; in

假设我有不到十个用java表示矩阵的二维数组。每个数组从0到6枚举。每个数组都要大n*2^enumval,其中n是第0个枚举数组中的元素数,因此我的多维数组几乎是金字塔形的,因此需要一个锯齿状的三维数组。可以创建一个锯齿状的三维阵列吗

int[][] array0 = new int[2][2];
int[][] array1 = new int[4][4];
int[][] array2 = new int[8][8];
int[][] array3 = new int[16][16];
int[][][] arrayStorage = new int[][][];

我想用以下方法存储数组:arrayStorage[columnOfArray][rowOfArray][

是的,完全可以在Java中创建锯齿状数组

下面是它的一些示例语法:

   int[][] jagged = new int[3][];
   jagged[0] = new int[]{1, 2, 4};
   jagged[1] = new int[]{9, 17, 35, 80};
   jagged[2] = new int[]{100};
在这里,我有一个锯齿状数组,有三行,但列数不确定。它们的长度从1到4不等。

Java只支持锯齿状数组。使用矩阵列表作为更相关的具体示例的3D阵列排序示例:

// an array of m*n (or jagged) 2D arrays.
int[][][] matrices = new int[2][][];

// A 2*2 matrix
int[][] matrix22 = new int[2][];
matrix22[0] = new int[] {1, 2};
matrix22[1] = new int[] {3, 4};

matrices[0] = matrix22;

// A 3*3 matrix
int[][] matrix33 = new int[3][];
matrix33[0] = new int[] {1, 2, 3};
matrix33[1] = new int[] {4, 5, 6};
matrix33[2] = new int[] {7, 8, 9};

matrices[1] = matrix33;
或者,仅限于一种说法:

int[][][] matrices2 = new int[][][] {
    new int[][] {
        new int[] {1, 2},
        new int[] {3, 4}
    },
    new int[][] {
        new int[] {1, 2, 3},
        new int[] {4, 5, 6},
        new int[] {7, 8, 9}
    }
};

如果用一个简单的例子来说明你想创建什么样的数组,而不是简单的文字描述,那就更简单了。谢谢你,我刚才就这么做了。我以后会记住这一点。