有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在java中创建由2d int数组组成的2d数组?

我想创建一个由较小的2d整数数组组成的2d数组,以整体生成一个矩阵图。我将存储2d整数数组,而不是将整数存储在更大的数组中

编辑:我想我画的数组不正确。我的意思是我想创建一个网格(矩阵-2d数组),在网格的每个单元格内,而不是存储一个int、boolean等。我想在网格的每个单元格中存储一个2d int数组

我在想int[int[][]][int[][]]之类的东西。但是意识到这不起作用,因为外部数组不是整数数组,它只是一个由整数数组组成的通用数组

我在这里的其他问题中发现了具有2d对象数组的代码(例如,room[][]),但我认为这不是必需的,因为我尝试创建的数组是由int[][]数组组成的,对吗

那我怎么知道呢

提前谢谢


共 (2) 个答案

  1. # 1 楼答案

    似乎是4D数组,使用int[][][][]来存储数据

    4D阵列是指2D阵列的2D阵列

    示例:int[][][][] arr = new int[10][20][10][10]

    它创建一个10X20大小的二维阵列,其中每个单元有10X10的二维阵列

  2. # 2 楼答案

    在Java中,多维数组被实现为数组的数组方法,而不是矩阵形式。要实现请求数组中提供的数据结构,必须按照以下方式实现:

    数据结构:

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