1,LinkedList类定义实现和继承关系:
public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, java.io.Serializable{…}
2,LinkedList中定义的成员变量:
transient int size = 0;
transient Node first; //第一个节点
transient Node last; //最后一个节点
a,transient关键字的作用,在已实现序列化的类中,有的变量不需要保存在磁盘中,就要transient关键字修饰,如银行卡密码等,就这个作用------在已序列化的类中使变量不序列化
b,Node 是LinkedList的一个内部类,主要用于保存上一个、当前和下一个元素的引用
c,first和last需要维持一个不变量,也就是first和last始终都要维持两种状态:
首先,如果双端链表为空的时候,两个都必须为null
如果链表不为空,那么first的前驱节点一定是null,first的item一定不为null,同理,last的后继节点一定是null,last的item一定不为null。
private static class Node<E> {
//当前元素
E item;
//下一个元素
Node<E> next;
//上一个元素
Node<E> prev;
Node(Node<E> prev,