Sotto il cofano, ArrayList
è essenzialmente un dynamic array. Ogni volta che si crea un'istanza usando new Arraylist<>()
Quello che sta succedendo è che una matrice viene creato per contenere i valori che si desidera memorizzare la cui capacità, not to be confused with size di default, è 10.
Ogni volta che si aggiunge un valore che farebbe aumentare la dimensione oltre la capacità di un nuovo viene creato un array con una capacità superiore al 150% rispetto alla capacità precedente con i contenuti dell'array precedente copiati all'interno.
Se si ha un'idea generale di quali dimensioni sarà la lista risultante, o si è certi ma si desidera la flessibilità offerta dall'uso di arraylist su array, è possibile impostare la capacità di impedire questo processo ripetitivo di creazione di nuovi array, copiando il contenuto di il vecchio array nel nuovo, e sbarazzarsi di quello vecchio - che altrimenti aumenterà in casi proporzionali alla dimensione della lista.
cosa significa? e qual è il vantaggio di ciò? –
gr8 risponde grazie mille :), adoro lo stackoverflow !!! –
Mi oppongo alla parola "default" nella prima frase. Il numero * predefinito * è la dimensione assegnata se * non * si inserisce un numero tra parentesi. –