[英]How do I create a 2d array made of 2d int arrays in java?
我想创建一个由较小的二维 integer arrays 组成的二维数组,以整体制作矩阵图。 我不会将整数存储在更大的数组中,而是存储 2d integer arrays。
编辑:我认为绘制了我想要的数组不正确。 我的意思是我想创建一个网格(矩阵 - 2d 数组),在网格的每个单元格内部而不是存储一个 int、boolean 等。我想在网格的每个单元格中存储一个 2d int 数组.
我在想类似 int[int[][]][int[][]] 的东西。 但是意识到这不起作用,因为外部阵列不是 integer 阵列,它只是由 integer arrays 制成的通用阵列。
我在这里的其他问题中找到了具有二维对象数组的代码(例如 room[][]),但我认为这没有必要,因为我尝试制作的数组是由 int[][] 组成的arrays,对吗?
那么我怎么能得到这个呢?
提前致谢!
看起来是 4D 数组,使用int[][][][]
来存储数据。
4D array 表示 2D 阵列的 2D 阵列
示例: int[][][][] arr = new int[10][20][10][10]
它创建一个 10X20 大小的二维数组,其中每个单元格都有一个 10X10 的二维数组。
在 Java 中,多维 arrays 被实现为 arrays 方法的数组,而不是矩阵形式。 要实现请求数组中提供的数据结构,必须按如下方式实现,
数据结构:
{{{0,1}, {{0,1},
{2,3}}, {2,3}},
{{0,1}, {{0,1},
{2,3}}, {2,3}}}
数组声明和赋值:
public class MyClass {
public static void main(String args[]) {
int[][][][] q =new int[2][2][2][2];
q[0][0][0][0] = 0;
q[0][0][0][1] = 1;
q[0][0][1][0] = 0;
q[0][0][1][1] = 1;
q[0][1][0][0] = 2;
q[0][1][0][1] = 3;
q[0][1][1][0] = 2;
q[0][1][1][1] = 3;
q[1][0][0][0] = 0;
q[1][0][0][1] = 1;
q[1][0][1][0] = 0;
q[1][0][1][1] = 1;
q[1][1][0][0] = 2;
q[1][1][0][1] = 3;
q[1][1][1][0] = 2;
q[1][1][1][1] = 3;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.