在阅读LinkedList文档时,我对“头文件”的用法有点困惑。通常,头是链接列表中的第一个节点。但是在这里它看起来像'头'是列表中的虚拟节点,它指向列表的第一个和最后一个节点,从而使LinkedList成为循环列表。真的吗?Java API中的LinkedList类中的“头文件”
private transient Entry<E> header = new Entry<E>(null, null, null);
public LinkedList() {
header.next = header.previous = header;
}
public E getFirst() {
if (size==0)
throw new NoSuchElementException();
return header.next.element;
}
public E getLast() {
if (size==0)
throw new NoSuchElementException();
return header.previous.element;
}
public E removeFirst() {
return remove(header.next);
}
是的。 Java API的LinkedList实现。 – user697911 2013-02-26 00:58:17
我不知道。我从Java 1.4看到这一点。乔希布洛赫编码它。 – 2013-02-26 01:04:51