假设我有这段代码:
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}} ......
问题是:如何将一维数组添加到二维数组的末尾?
答案 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;
}