LinkedList底层结构和源码

发布时间 2023-05-06 20:15:34作者: 寇

LinkedList底层结构和源码

  1. LinkedList的全面说明

  2. LinkedList底层实现了双向链表和双端队列特点

  3. 可以添加任意元素(元素可以重复,包括null)

  4. 线程不安全,没有实现同步

LinkedList的底层操作机制

  1. LinkedList底层维护了一个双向链表
  2. LinkedList中维护了两个属性first和last分别指向首节点和尾节点
  3. 每个节点(Node对象),里面又维护了prev、next、item三个属性,其中通过prev指向前一个,通过next指向后一个节点,最终实现了双向链表
  4. 所以LinkedList的元素的添加和删除,不是通过数组完成的,相对效率较高
  5. 模拟一个简单的双向链表

LinkedList增删改查底层机制

LinkedList.add()

LinkedList.remove()

LinkedList.set()

底层结构 增删的效率 改查的效率
ArrayList 可变数组 较低,数组扩容 较高
LinkedList 双向链表 较高,通过链表追加 较低