简单的问题,在Java中复制双精度数组的最快方法是什么.我目前这样做......
public static double[] clone_doubles(double[] from)
{
double[] to = new double[from.length];
for (int i = 0; i < from.length; i++) to[i] = from[i];
return to;
}
Run Code Online (Sandbox Code Playgroud)
它也进行分配以避免溢出,但如果有更快的方法我将分配与副本分开.
我看过了Arrays.copyOf(),System.arraycopy()但我想知道是否有人有任何巧妙的技巧.
编辑:
如何复制double[][]?
小智 13
Java Practices对以下数组的不同复制方法进行了比较int:
以下是他们网站的结果:
java -cp.-Xint ArrayCopier性能250000
使用clone:93 ms
使用System.arraycopy:110 ms
使用Arrays.copyOf:187 ms
使用for循环:422 ms
看起来像是System.arraycopy()和之间的关系clone().
System.arraycopy 如果您只想从一个阵列复制到另一个阵列,那么这可能是您最好的选择.
除此以外
public static double[] clone_doubles(double[] from) {
return (double[]) from.clone();
}
Run Code Online (Sandbox Code Playgroud)
会给你一个克隆.
| 归档时间: |
|
| 查看次数: |
4934 次 |
| 最近记录: |