简介
LinkedList 顾名思义其本质是一个链表,具体来说是一个双向链表,同时还有2个指针分别对应链表的头和尾。
源码
源码还是跟 ArrayList 一样,从我们常用的代码出发:
List a = new LinkedList<>();
a.add("sidfate");
进入初始化源码:
// LinkedList 长度
transient int size = 0;
// 指向头结点
transient Node first;
// 指向尾节点
transient Node last;
public LinkedList() {
}
可以看到默认的构造函数空空如也,需要注意的是链表是以 Node 为基础连接起来的,Node 的结构如下:
private static class Node {
E item;