Arrays.copy和System.arraycopy

其中 Arrays.copy是JDK1.6中引用的新方法。它调用了System.arraycopy完成相关数组的复制。

 

在JDK1.6中ArrayList的相关add remove等操作都是调用System.arraycopy来对其底层的Object[]elementData数组进行操作的。

 

LinkedList则使用一个Entry的内部类,其有指向next和previous的引用保存元素,它的遍历则先计算出所需index和size>>1(以为后的大小),确定是通过previous还是next遍历。

 

System.arraycopy

 

它是个native方法,测试结果表明,

当数组很小,但存是调用次数多的话。

使用它复制数组并不比for循环手工复制数组快。

 

 

 

但是如果是数组比较大,那么使用System.arraycopy会比较有优势,因为其使用的是内存复制,省去了大量的数组寻址访问等时间。

阅读更多
文章标签: system object jdk 测试
个人分类: JAVA
想对作者说点什么? 我来说一句

System.arraycopyArrays.copyOf

2010年09月04日 42KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭