LinkedList

Posted darknessplus

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LinkedList相关的知识,希望对你有一定的参考价值。

数据结构

双向链表
节点类型:

private static class Node<E> {
  // 实际存放的元素
  E item;
  // 后一个元素
  Node<E> next;
  // 前一个元素
  Node<E> prev;
  // 构造函数元素顺序分别为前,自己,后。就像排队一样
  Node(Node<E> prev, E element, Node<E> next) {
    this.item = element;
    this.next = next;
    this.prev = prev;
  }
}

成员变量

// list中的元素个数
transient int size = 0;
// 链表的头节点
transient Node<E> first;
// 链表的尾节点
transient Node<E> last;

重要方法

add(E e)

添加到链表尾,注意空链表

remove(Object o)

o==null时要把Node.item==null都删除,删除Node要注意前后节点的链接,考虑前后节点在头尾


以上是关于LinkedList的主要内容,如果未能解决你的问题,请参考以下文章

Java中arraylist和linkedlist源代码分析与性能比較

优雅代码13-linkedList插入真的比arrayList快么

【java】帮看一个LinkedList的小代码。万分感谢!!

LinkedList源代码深入剖析

从源代码来理解ArrayList和LinkedList差别

LinkedList的实现