将多个数组合并为一个数组的最佳方法是什么

时间:2009-11-11 15:54:20

标签: java arrays

嘿,我试图将几个double类型的数组合并成一个单独的数组,最好的方法是什么?谢谢!

2 个答案:

答案 0 :(得分:4)

  • 创建一个正确大小的数组(通过并总结所有源数组的长度)
  • 反复调用System.arraycopy一次将一个源数组复制到目标数组中,在每次迭代时更新将其复制到的位置。

类似于:

public static double[] Combine(double[][] arrays)
{
    int totalLength = 0;
    for (double[] source : arrays)
    {
        totalLength += source.length;
    }
    double[] ret = new double[totalLength];
    int index = 0;
    for (double[] source : arrays)
    {
        System.arraycopy(source, 0, ret, index, source.length);
        index += source.length;
    }
    return ret;
}

答案 1 :(得分:1)

您可以在Guava库中使用此方法,该库是开源的,可能会在本月晚些时候发布实际的二进制文件: Doubles.concat(double[]...)