将1D阵列放入2D阵列的末尾

Qua*_*hey 2 java android

让我们说我有这个代码:

float[] bigA = {1,2,3,4};
for (int i = 0; i < bigA.length; ++i) {
  float abc = bigA[i] - 1;
  float[] bigerAbc = {abc};
  float[][] wcs = {bigerAbc};
}
Run Code Online (Sandbox Code Playgroud)

该float[][] wcs = {abc};部分每次都定义了wcs数组,而wcs的最终结果是{{3}},但是我希望wcs被定义为一个空数组,而不是float[][] wcs = {abc};我想写一些代码来添加bigerAbc到底wcs,最后wcs应该更像是{{0},{1},{2},{3}} ......

问题是:如何将一维数组添加到二维数组的末尾?

yka*_*ich 5

Java中的2D数组实际上是一个数组数组,java中的数组是固定大小的.因此,您无法动态地将项添加到数组的末尾.您需要分配固定大小的数组,或使用更灵活的结构,如List.

在您的示例中,由于已知wcs的最终大小,您可以执行以下操作:

float[] bigA = {1,2,3,4};
float[][] wcs = new float[bigA.length][];
for(int i = 0; i < bigA.length;  ++i) {
  float abc = bigA[i] - 1;
  float[] bigerAbc = {abc};
  wcs[i] = bigerAbc;
}
Run Code Online (Sandbox Code Playgroud)