Java数组赋值效率比较问题

Posted 木子归零

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java数组赋值效率比较问题相关的知识,希望对你有一定的参考价值。

1.for 循环逐一复制
2.System.arraycopy

3.Array.copyOf
4.使用clone方法
以上四种方法效率比较:

  System.arraycopy > clone > System.copyOf > for循环

注解:arraycopy作为natvie(本地)方法,是最快的,下面该方法源码的描述。
public static native void arraycopy(Object src, int srcPos,Object dest, int destPos,int length); 
Arrays.copyOf(Arrays类)的实现,在源码中是调用System.copyOf的,多了一个步骤。
关于clone的源码定义如下;
protected native Object clone() throws CloneNotSupportedException;
关于clone网上好多帖子给出的是实验结果。
一下帖子可能讲的更详细:
http://xuyuanshuaaa.iteye.com/blog/1046621
http://blog.csdn.net/stand1210/article/details/52686740
(效率实验)
http://blog.csdn.net/tingzhiyi/article/details/52344845




















以上是关于Java数组赋值效率比较问题的主要内容,如果未能解决你的问题,请参考以下文章

c# for循环效率问题,遍历list<string>集合;

Jsp获取Java的重定向赋值(String)

Java经典安全数组实现的代码

Java中怎么给数组批量赋值

JAVA中如何创建一个二维数组,然后给二维数组赋值!

PHP在二维数组查找匹配字符串元素是怎样使得它的效率变得比较高的?