LinkedList源码分析
注意:本笔记分析对象为
Java8
版本,随版本不同,源码会发生变化。
基本介绍与类图
LinkedList
同时实现了 List
接口和 Deque
对口,也就是收它既可以看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(stack)。
这样看来,linkedList
简直就是无敌的,当你需要使用栈或者队列时,可以考虑用 LinkedList
。
关于栈或队列,现在首选是
ArrayDeque
,它有着比LinkedList
(当作栈或队列使用时)更好的性能。
LinkedList
底层通过 双向链表 实现,双向链表的每个节点用内部类 Node
表示。LinkedList
通过 first
和 last
引用分别指向链表的第一个和最后一个元素。
首先我们来分析它的构造方法和添加方法,对下面这段程序进行 deb