LinkedList底层结构是双向链表,实现了List和Dqueue接口
public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable
1.底层是Node节点
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; } }
2.基本的成员变量
transient int size = 0;//list的大小
transient Node<E> first;//头结点
transient Node<E> last;//尾节点
protected transient int modCount = 0;//结构性更改计数器
3.两个构造函数
/** * Constructs an empty list. */ public LinkedList() { } /** * Constructs a list containing the elements of the specified * collection, in the order they are returned by the collection's * iterator. * * @param c the collection whose elements are to be placed into this list * @throws NullPointerException if the specified collection is null */ public LinkedList(Collection<? extends E> c) { this(); addAll(c); }