如何在 Java 中分配数组数组?

Loi*_*s2B 0 java arrays allocation dynamic-memory-allocation

我想为数组数组动态分配内存,知道行数将为 n,但我不想为每行分配比需要更多的内存,这将是 i = 1:n ,每行的元素数 = i,我事先知道这一点。

    int [] a = new int[n];
    for (int i=0; i<n; i++)
Run Code Online (Sandbox Code Playgroud)

我刚刚开始学习 Java,我是新手。据我所知,第一行将为 n 个元素(行数)分配内存,我想要做的是在每次迭代时创建一个新的 i 个元素数组。

deh*_*asi 5

您可以声明一个二维数组并分配第一维

  int [][] a = new int[n][];
Run Code Online (Sandbox Code Playgroud)

然后,在循环内,您可以分配第二个

 for (int i=0; i<n; i++)
   a[i] = new int[necessary_length];
Run Code Online (Sandbox Code Playgroud)

但是如果你事先知道尺寸,你显然可以在开始时声明它

  int [][] a = new int[n][n];
Run Code Online (Sandbox Code Playgroud)