http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/ArrayList.java#473Perché java.util.Arraylist # clear ha implementato il modo in cui era in OpenJDK?
public void clear() {
modCount++;
// Let gc do its work
for (int i = 0; i < size; i++)
elementData[i] = null;
size = 0;
}
La mia domanda è, perché ha fatto quello che devono fare un ciclo attraverso l'array supporto {O (n)} di rendere ogni elemento per la garbage collection quando potevano solo hanno reinizializzata la matrice di supporto, scartando i riferimenti all'intero array nel suo complesso {O (1)} e rendendolo idoneo per la garbage collection? O (n) prestazioni per clear()
non mi sembra così carino o mi manca qualcosa?
possibile duplicato di [list.clear() vs list = new ArrayList();] (http://stackoverflow.com/questions/6961356/list-clear-vs-list-new-arraylistinteger) –
Tala
I do penso che questo è un duplicato. – nawfal