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

时间:2012-03-02 00:05:43

标签: 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};
}

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

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

1 个答案:

答案 0 :(得分: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;
}