【发布时间】:2020-09-25 17:06:56
【问题描述】:
如果我已经知道二维数组的列数,如何为 n 个条目动态分配空间?我想知道不使用列表的方法,但我找不到任何东西。有什么帮助吗?
【问题讨论】:
标签: java arrays multidimensional-array dynamic-memory-allocation
如果我已经知道二维数组的列数,如何为 n 个条目动态分配空间?我想知道不使用列表的方法,但我找不到任何东西。有什么帮助吗?
【问题讨论】:
标签: java arrays multidimensional-array dynamic-memory-allocation
试试这个。
int rows = 200;
int cols = 300;
int[][] mat = new int[rows][cols];
您还可以从文件中读取行和列,分配数组,然后继续读取值以填充数组。
当您不知道数组的大小时,困难就来了。所以你首先需要pre allocate 数组,这是一个猜测。然后尽可能多地读入,并不断增加大小,直到读完为止。
【讨论】:
您可以使用 Arrays.copyOf() 函数。
假设您想将二维数组中第 4 行的大小增加为 6 行。
你可以简单地说 myArray[3] = Arrays.copyOf(myArray[3], newSize);
【讨论】: