LinkedList源码总结
双向链表:http://student.zjzk.cn/course_ware/data_structure/web/xianxingbiao/xianxingbiao2.3.3.htm
源码解析1:http://www.iteye.com/topic/1115828
2: http://blog.csdn.net/moreevan/article/details/6783801
?
?
LinkedList属于一个双向循环的链表,其内部是用一个Entry来维护的
public static void arraycopy(Object src,int srcPos, Object dest,int destPos, int length) //list中的remove(int index)方法就是调用该方法//src:源数组; srcPos:源数组要复制的起始位置;//dest:目的数组; destPos:目的数组放置的起始位置;//length:复制的长度。
?
注意:src and dest都必须是同类型或者可以进行转换类型的数组.
有趣的是这个函数可以实现自己到自己复制,比如:
int[] fun ={0,1,2,3,4,5,6};
System.arraycopy(fun,0,fun,3,3);
则结果为:{0,1,2,0,1,2,6};
实现过程是这样的,先生成一个长度为length的临时数组,将fun数组中srcPos到srcPos+length-1之间的数据拷贝到临时数组中,再执行System.arraycopy(临时数组,0,fun,3,3).
?