clear () impl en LinkedList @ de Ja
Me temo que esta es una pregunta realmente estúpida, pero aquí va:
¿Por qué el método claro en la implementación predeterminada de LinkedList de Java se molesta en recorrer la lista y desenganchar todos los nodos? ¿Por qué no simplemente desenganchar el encabezado y dejar conectado el resto de la lista: el GC lo obtendrá de todos modos, no?
Aquí está el método:
/**
* Removes all of the elements from this list.
*/
public void clear() {
Entry<E> e = header.next;
while (e != header) {
Entry<E> next = e.next;
e.next = e.previous = null;
e.element = null;
e = next;
}
header.next = header.previous = header;
size = 0;
modCount++;
}
¿Por qué caminar? ¿Por qué no simplemente saltar aheader.next = header.previous = header;
?
Lo mejor que puedo imaginar es si ayuda al GC ... Este enlacehttp: //java.sun.com/docs/books/performance/1st_edition/html/JPAppGC.fm.html#99744 más o menos sugiere eso.
TIA ...