image-20240305143822757

LinkedList底层源码分析

LinkedList集合

底层数据结构是双链表,查询慢,增删快,但如果操作的是首尾元素,速度也是极快的。

特有的API

image-20240305144059020

底层原理

LinkedList底层是双向链表结构

节点对象Node的定义如下

image-20240306212711892

核心步骤如下:

  1. 刚开始创建的时候,底层创建了两个变量:一个记录头结点first,一个记录尾结点last,默认都为null
  2. 添加第一个元素时候,底层创建一个结点对象,firstlast都记录这个结点的地址值
  3. 添加第二个元素时候,底层创建一个结点对象,第一个结点会记录第二个结点的地址值,last会记录新结点的地址值。

源代码流程:

LinkedList源码分析