Junior — Middle
Wie ändert sich die Größe von ArrayList bei sequentiellem Hinzufügen von Elementen bis zu einer bestimmten Menge?
sobes.tech KI
Antwort von AI
In Java implementiert die Klasse ArrayList ein dynamisches Array, das seine Größe automatisch erhöht, wenn neue Elemente hinzugefügt werden und die aktuelle Kapazität voll ist.
Ursprünglich wird ArrayList mit einer bestimmten Kapazität erstellt (standardmäßig 10). Wenn die Anzahl der Elemente diese Kapazität erreicht, wird die Größe des internen Arrays erhöht. In der Standardimplementierung wächst die Größe um etwa 50 % der aktuellen (d.h., neue Kapazität = alte Kapazität + alte Kapazität / 2).
Dies ermöglicht eine Balance zwischen den Kosten für das Kopieren von Daten und der Speichernutzung.
Beispiel:
ArrayList<Integer> list = new ArrayList<>();
// Elemente hinzufügen, wenn die Größe 10 erreicht, wird die Kapazität auf etwa 15 erhöht
for (int i = 0; i < 20; i++) {
list.add(i);
}