首页 > 解决方案 > 如何在 Java 中分配数组?

问题描述

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

    int [] a = new int[n];
    for (int i=0; i<n; i++)

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

标签: javaarraysdynamic-memory-allocationallocation

解决方案


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

  int [][] a = new int[n][];

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

 for (int i=0; i<n; i++)
   a[i] = new int[necessary_length];

但是,如果您事先知道大小,您显然可以在开始时声明它

  int [][] a = new int[n][n];

推荐阅读