第十四讲 容器框架二
LinkedList,它实现的基础是双向链表,因此在插入和删除方面具有性能优势。它也可以用来实现stack和queue。顺便说一句,Java容器框架中有一个遗留的类Stack,它是基于Vector实现的,不建议使用。
LinkedList主要有3个属性:
- int size
- Node<E> first
- Node<E> last
也就是通过一个链表把size个Node从头串到尾。而Node就是一个类的节点包装类,有item,有prev和next。图示如下:
LinkedList也是List,因此同样具有List的那些操作,这一点跟ArrayList一样,因此下面我们只介绍它不一样的部分。
LinkedList同时也实现了Deque,因此它具有Deque的方法,如下面的12个:
第一个元素 (头) | 最后一个元素 (尾) | |||
---|---|---|---|---|
插入 | addFirst(e) | offerFirst(e) | addLast(e) | offerLast(e) |
删除 |