LinkedList 문서를 읽는 중 "헤더"를 사용하는 것에 약간의 혼란이 있습니다. 일반적으로 헤더는 linkedList의 첫 번째 노드입니다. 그러나 여기에서는 '헤더'가 목록의 더미 노드이고 목록의 첫 번째 노드와 마지막 노드를 가리키는 것처럼 보이므로 LinkedList를 순환 노드로 만듭니다. 그게 사실이야?Java API의 LinkedList 클래스에있는 "header"
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
잘 모르겠습니다. Java 1.4에서 보았습니다. Josh Bloch가 코드화했습니다. –