Informationen zur Einstellung der Anfangsgröße für ArrayList
In Java können Sie mit der Klasse ArrayList> während der Instanziierung eine Anfangsgröße angeben, um sicherzustellen Speichereffizienz. Es ist jedoch wichtig, zwischen der Anfangsgröße und der Kapazität der Liste zu unterscheiden.
Während die Anfangsgröße die anfängliche Anzahl der Elemente in der Liste bestimmt, weist sie keinen Speicherplatz an bestimmten Indizes vor. Stattdessen definiert es die Kapazität des zugrunde liegenden Arrays, sodass es mehr Elemente aufnehmen kann, ohne die Größe bei niedrigen Indizes zu ändern.
Zum Beispiel das Erstellen einer ArrayList mit einer anfänglichen Kapazität von 10 (z. B. ArrayList> arr = new ArrayList>(10);) fügt der Liste nicht automatisch zehn Elemente hinzu. Die Liste bleibt leer und hat eine Kapazität von 10 Elementen.
Um die ArrayList zu füllen, müssen Sie Methoden wie add() verwenden, um Elemente einzufügen. Mit der Methode add(int index, Object element) können Sie den Index angeben, an dem das Element eingefügt werden soll. Index 10 würde jedoch außerhalb des gültigen Bereichs liegen, da die Größe der Liste anfänglich 0 beträgt.
Daher wird die anfängliche Größeneinstellung für ArrayList in erster Linie verwendet, um die Speichernutzung zu optimieren und eine häufige Neuzuweisung interner Strukturen zu vermeiden Liste wächst. Durch die Bereitstellung einer geeigneten Anfangskapazität können Sie die Notwendigkeit einer Größenänderung des Speichers minimieren und die Leistung verbessern, insbesondere wenn erwartet wird, dass die ArrayList eine beträchtliche Anzahl von Elementen enthält.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3