首先 在add方法中
public boolean add(E e) {
linkLast(e);
return true;
}
-
//执行 linkLase()
void linkLast(E e) {
final Node l = last; //将 末指针 给 l 节点final Node newNode = new Node<>(l, e, null); //将新节点 perv(头) = l(上一个末指针末指针 为 空 ( 因为 最后一个为空)
last = newNode; //last指向newNode
if (l == null)
first = newNode; //如果为空 说明 为 LinkedList 为 空
else
l.next = newNode; //指向newNode 只需要将last的next指向这个newNode就行了,这样就形成了双向链表
size++;
modCount++;
}
LinkedLisk的删除 找到 中间的值 a 用 删除节点 b 和 a 去比较 b>a 从未开始找 b<a 从头开始找