Standard-Arrays in Java sind in der Anzahl der Elemente festgelegt, die sie haben können. Wenn Sie die Elemente in einem Array vergrößern oder verkleinern möchten, müssen Sie aus dem Inhalt des ursprünglichen Arrays ein neues Array mit der richtigen Anzahl von Elementen erstellen. Eine Alternative ist die Verwendung des Anordnungsliste
Klasse. Das Anordnungsliste
Klasse bietet die Möglichkeit, dynamische Arrays zu erstellen (d. h. ihre Länge kann sich erhöhen und verringern)..
import java.util.ArrayList;
Ein Anordnungsliste
kann mit dem einfachen Konstruktor erstellt werden:
ArrayList dynamicArray = new ArrayList ();
Dadurch wird ein erstellt Anordnungsliste
mit einer anfänglichen Kapazität für zehn Elemente. Wenn eine größere (oder kleinere) Anordnungsliste
erforderlich ist, kann die anfängliche Kapazität an den Konstruktor übergeben werden. Platz für zwanzig Elemente schaffen:
ArrayList dynamicArray = new ArrayList (20);
Verwenden Sie die add-Methode, um einen Wert an die anzuhängen Anordnungsliste
:
dynamicArray.add (10); dynamicArray.add (12); dynamicArray.add (20);
Hinweis: Das Anordnungsliste
Speichert nur Objekte, obwohl die obigen Zeilen int-Werte hinzuzufügen scheinen Anordnungsliste
Die werden automatisch in geändert Ganze Zahl
Objekte, wie sie an die angehängt werden Anordnungsliste
.
Ein Standard-Array kann zum Auffüllen von verwendet werden Anordnungsliste
indem Sie es mit der Methode Arrays.asList in eine List-Auflistung konvertieren und der List-Auflistung hinzufügen Anordnungsliste
Verwendung der füge alle Hinzu
Methode:
String [] names = "Bob", "George", "Henry", "Declan", "Peter", "Steven"; ArrayList dynamicStringArray = new ArrayList (20); dynamicStringArray.addAll (Arrays.asList (names));
Eine Sache zu beachten Anordnungsliste
müssen die Elemente nicht vom selben Objekttyp sein. Obwohl die dynamicStringArray
Wurde mit String-Objekten gefüllt, kann es weiterhin Zahlenwerte akzeptieren:
dynamicStringArray.add (456);
Um das Risiko von Fehlern zu minimieren, geben Sie am besten die Art der gewünschten Objekte an Anordnungsliste
enthalten. Dies kann in der Erstellungsphase mithilfe von Generika erfolgen:
ArrayList dynamicStringArray = new ArrayList (20);