1.linkedList的实现
linkedlist的实现是基于数据结构:双向链表。模型图如
对于linkedList没有像arrayList一样有扩容的概念。也不需要移动数据。所以对于新增和删除操作add和remove,LinkedList比较占优势。
2.双向链表的实现
3.linkedList的继承关系
从继承图中可以看出LinkList实现了List接口,实现了list接口中的所有方法,同时页实现了Queue接口,所以linkedList同时具备了对队列和栈操作的特点。
4.Linkedlist实现的方法
5.重要属性
LinkedList执行栈操作或队列操作就是对first节点和last节点的操作
6.Node节点
LinkedList实现的方法就不再一一叙述。
7.LinkedList遍历
1.通过迭代器遍历。即通过Iterator去遍历
2.通过快速随机访问遍历LinkedList
3.通过另外一种for循环来遍历LinkedList
4. 通过pollFirst()来遍历LinkedList
5.通过pollLast()来遍历LinkedList
6. 通过removeFirst()来遍历LinkedList
7.通过removeLast()来遍历LinkedList
8.测试:
运行结果:
遍历LinkedList时,使用removeFist()或removeLast()效率最高。但用它们遍历时,会删除原始数据;若单纯只读取,而不删除,应该使用第3种遍历方式。
无论如何,千万不要通过随机访问去遍历LinkedList!