JDK源码阅读-------自学笔记(二十三)(java.util.LinkedList 初探 自定义讲解)

1、LinkedList简介

  • (1) 底层用双向链表实现的存储
  • (2) 查询效率低,频繁增删效率高,线程不安全是其主要特点
  • (3) 常用单词Node/Entry表示一个节点,或称为条项,词条(形容节点的样子)
  • (4) 链表由三部分组成:前一个节点,本节点保存的数据,后一个节点

2、LinkedList和Collection的关系

3、双向链表Java实现

  • (1) 定义一个对象Node,在对象中定义组成节点的三部分:上一个节点、数据位置、下一个节点
  • (2) 定义一个链表对象,在链表对象中操作节点对象.
  • (3) 以add方法为例子:

      • 每天执行add()方法的时候,新建一个节点Node,将要添加的元素,放入到Node对象中
      • 第一次添加对象的时候,链表中是空的,所以,链表的第一个节点和最后一个节点都是传入的Node
      • 第二次,开始,添加的对象都存在next当中,以此类推,如图: