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)

onull时要把Node.itemnull都删除,删除Node要注意前后节点的链接,考虑前后节点在头尾

原文地址:https://www.cnblogs.com/darknessplus/p/10356640.html