LinkedList 是 Java 集合框架中一个重要的实现,其底层采用的双向链表结构。和 ArrayList 一样,LinkedList 也支持空值和重复值。由于 LinkedList 基于链表实现,存储元素过程中,无需像 ArrayList 那样进行扩容。但有得必有失,LinkedList 存储元素的节点需要额外的空间存储前驱和后继的引用。另一方面,LinkedList 在链表头部和尾部插入效率比较高,但在指定位置进行插入时,效率一般。原因是,在指定位置插入需要定位到该位置处的节点,此操作的时间复杂度为O(N)。最后,LinkedList 是非线程安全的集合类,并发环境下,多个线程同时操作 LinkedList,会引发不可预知的错误
首先LinkedList 的 成员变量
重点是 first last 变量 size 对象的个数
内部有一个内部类 内部类 包括 next 指向下一个元素 和 pre指向上一个元素
这就是为什么 LinkedList 是一个链表,传入元素的时候 只是插入一个 Node 对象,并指向 上一个和下一个对象
但是要循环查询元素 就需要逐个去查询
在插入 删除 元素的时候 只是操作 Node 对象 next 指向下一个元素 和 pre指向上一个元素即可