Heim >Java >javaLernprogramm >Warum ist die Initialisierung der ArrayList-Größe wichtig, wenn Sie nicht sofort auf den zugewiesenen Speicherplatz zugreifen können?
Den Zweck der Initialisierung der ArrayList-Größe verstehen
Die Java ArrayList-Klasse bietet die Flexibilität, bei der Erstellung eine Anfangsgröße anzugeben. Es ist jedoch oft verwirrend, warum dies notwendig ist, wenn Sie nicht sofort auf den zugewiesenen Speicherplatz zugreifen können. Diese Frage befasst sich mit der Unterscheidung zwischen Größe und Kapazität einer ArrayList, um diesen Sachverhalt zu klären.
Anfangsgröße vs. Kapazität
Beim Initialisieren einer ArrayList mit neuer ArrayList< >(10), Sie definieren nicht seine Größe, sondern seine Kapazität. Die Kapazität bezieht sich auf die Anzahl der Elemente, die die ArrayList enthalten kann, ohne dass die zugrunde liegende Datenstruktur neu zugewiesen werden muss. Indem Sie eine Anfangskapazität festlegen, optimieren Sie die Leistung, indem Sie unnötige Neuzuweisungen beim Hinzufügen von Elementen vermeiden.
Elemente hinzufügen
Entgegen Ihrer Annahme add(int index, Object element ) fügt tatsächlich ein Element zum angegebenen Index hinzu. Dies setzt jedoch voraus, dass die Liste über ausreichend Kapazität verfügt, um das neue Element aufzunehmen. Wenn Sie arr.add(5, 10) versuchen, erhalten Sie eine Ausnahme außerhalb der Grenzen, da die ArrayList noch keine Elemente enthält, was zu einer leeren Kapazität führt.
Beispiel: Initialisieren und Füllen einer ArrayList
Um eine ArrayList mit einer Kapazität von 10 zu initialisieren und mit Elementen zu füllen, können Sie eine Schleife verwenden:
<code class="java">ArrayList<Integer> arr = new ArrayList<>(10); for (int i = 0; i < 10; i++) { arr.add(0); }</code>
Jetzt können Sie Elemente an Indizes ändern oder abrufen 0 bis 9, unter Verwendung der von Ihnen definierten Anfangskapazität.
Zusammenfassend lässt sich sagen, dass das Festlegen einer Anfangskapazität für eine ArrayList zur Optimierung der Leistung beiträgt, indem ein Neuzuweisungsaufwand vermieden wird, wenn Ihre Liste wächst. Während die anfängliche Größe einer ArrayList Null ist, stellt die Kapazität sicher, dass genügend Platz zur Verfügung steht, um nachfolgende Elemente effizient unterzubringen.
Das obige ist der detaillierte Inhalt vonWarum ist die Initialisierung der ArrayList-Größe wichtig, wenn Sie nicht sofort auf den zugewiesenen Speicherplatz zugreifen können?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!