JDK7中 LinkedList
private 方法 private void linkFirst(E e)
在新添加元素时链表不会断裂?
代码来源于 JDK7
private void linkFirst(E e) {
final Node<E> f = first;
final Node<E> newNode = new Node<>(null, e, f);
first = newNode;
if (f == null)
last = newNode;
else
f.prev = newNode;
// 此处没有执行 newNode.next = f; newNode.next 不会链接后面的元素
size++;
modCount++;
}
Pourquoi le lien est-il rompu ?
f pointe vers l'original en premier et définit le nouveau newNode en premier.
À l'heure actuelle, on estime que si la liste chaînée d'origine est vide, alors le dernier est également le premier.
S'il n'est pas vide, alors le précédent du premier nœud f<original>
Je suppose que la raison pour laquelle vous pensez que le lien est rompu est parce que vous n'avez pas vu en premier les points suivants vers f. Euh, next a été passé dans Node
final Node<E> newNode = new Node<>(null, e, f);
private static class Node<E>