ArrayList是一个泛型类,长度动态,不受限制,只能存储对象。例:ArrayList<String> list = new ArrayList<String>();
ArrayList继承于接口List,是一个List的实现类。数组
LinkedList继承于AbstractSequentialList,一个双向链表,可被看成堆栈,队列或者双端队列使用。
节点类Entry:element存放业务数据,previous与next存放先后节点信息。
双向链表结构数据图: 数据结构
get(int location), remove(int location)
等根据索引值来获取,删除节点的函数。首先比较location和双向链表长度的1/2,决定从头仍是尾开始查找(for循环)。
本质上是数组和链表数据结构上的区别。
框架
get(int index)
,直接返回index上的元素。System.arraycopy
,LinkedList耗时在查找数据。