【JDK1.8】JDK1.8集合源码阅读——LinkedList

这次我们来看一下常见的List中的第二个——LinkedList,在前面分析ArrayList的时候,我们提到,LinkedList是链表的结构,其实它跟我们在分析map的时候讲到的LinkedHashMap的结构有一定的相似,但是相对简单很多,今天再详细的看一下它的具体结构,以及使用的场景等。


二、LinkedList结构概览

在看具体的结构之前我们先来看一下它的继承关系:

LinkedListExtends

与ArrayList不同的是,LinkedList继承了AbstractSequentialList,从Sequential这个单词可以看出,该抽象类实现的是顺序访问的结构,因为可以推测可能和链表有关。

另外值得注意的是Deque这个接口,这个类名字的由来是“double ended queue”,也就是双向队列,即从头部和尾部都可以进行队列的操作。

所以综上的话,我们可以知道,LinkedList是一个双向链表的数据结构:

LinkedListStruct

从头部和尾部都可以对LinkedList进行遍历。


三、LinkedList源码阅读 3.1 LinkedList成员变量

// list中的元素个数 transient int size = 0; // 链表的头节点 transient Node<E> first; // 链表的尾节点 transient Node<E> last;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyygps.html