一句话概括,Java中的LinkedList其实就是使用双向链表,LinkedList的基本操作就是对双向链表的操作。
上面可以清晰的看出,链表中每个元素对应一个节点,节点里面包含三部分,一个是前一个节点的引用,一个是元素内容,一个是后一个节点的引用。
向链表中添加元素的过程就是在链表尾部追加一个节点
void linkLast(E e) {
final Node<E> l = last;
final Node<E> newNode = new Node<>(l, e, null);
last = newNode;
if (l == null)
first = newNode;
else
l.next = newNode;
size++;
modCount++;
}
第一步:
final Node<E> l = last;
第二步:
final Node<E> newNode = new Node<>(l, e, null);
第三步:
last = newNode;
第四步:
l.next = newNode;
其他获取链表元素等操作也基本差不多,都是双向链表的基本操作