ArrayList in Java: Eine Einführung für Anfänger [2022]
Veröffentlicht: 2022-11-22Ein Array ist eine weit verbreitete und unverzichtbare Datenstruktur in jeder Programmiersprache mit einem Nachteil – seine Größe ist festgelegt. Mal sehen, wie ArrayList in Java dabei helfen kann.
Ein Array kann zwei Arten haben: ein statisches Array oder ein dynamisches Array. In Programmiersprachen wie Java kann ein Array nicht dynamisch vergrößert werden. Stattdessen wird die Größe des Arrays während der Array-Initialisierung deklariert. Aber in vielen Fällen kann dies zu vielen Problemen führen. Um dieses Problem zu lösen, werden in Java ArrayLists verwendet. Die Arraygröße erhöht sich automatisch, wenn ein Element in eine ArrayList verschoben wird.
In diesem Artikel erfahren Sie mehr über ArrayLists in Java. Sie werden den Kernunterschied zwischen Array und ArrayList verstehen und auch etwas über die verschiedenen Arten von ArrayLists und deren Verwendung lernen.
Array vs. ArrayList
Der Hauptunterschied zwischen einem Array und einer ArrayList besteht darin, dass die Größe eines Arrays statisch ist, die Größe einer ArrayList jedoch dynamisch sein kann. Da ein Array festgelegt ist, dauert die Iteration über das Array weniger Zeit als bei einem dynamischen Array.
Es gibt auch ein paar weitere Unterschiede zwischen ihnen.
- Ein statisches Array kann ein- oder mehrdimensional sein, aber eine ArrayList kann nur eindimensional sein.
- Ein Array ist eine primitive Datenstruktur, die in Java verfügbar ist. Aber eine ArrayList ist ein Teil einer Collection Framework API in Java. Es baut auf Arrays auf.
- Sie können Arrays mit primitiven Datentypen deklarieren. Primitive Datentypen können nicht in einer ArrayList verwendet werden. Wenn Sie einen primitiven Datentyp verwenden möchten, müssen Sie die entsprechende Wrapper-Klasse des Datentyps verwenden.
Arten von ArrayLists in Java
ArrayLists können jeden Typs haben. Sie müssen jedoch die entsprechende Wrapper-Klasse übergeben, da Sie keine primitiven Datentypen in einer ArrayList übergeben können.
Sie können einfache Datentypen wie Integer- oder String-Typen hinzufügen, indem Sie Wrapper-Klassen wie Integer
oder String
übergeben.
Sie können auch komplexe Typen wie ArrayLists von ArrayLists, Hashmaps usw. übergeben.
Sehen wir uns ein Beispiel für die Verwendung einer benutzerdefinierten Klasse in einer ArrayList an.
import java.util.ArrayList; class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; } public void getUser() { System.out.println("Name: " + name + " Age: " + age); } } class Main { public static void main(String[] args) { ArrayList<User> users = new ArrayList<>(); users.add(new User("Subha", 25)); users.add(new User("Dan", 32)); users.forEach(user -> { user.getUser(); }); } } Output: Name: Subha Age: 25 Name: Dan Age: 32
Im obigen Codebeispiel wird eine ArrayList vom Typ User
erstellt. Im folgenden Beispiel erfahren Sie mehr über die verwendeten Methoden.
Erstellen einer ArrayList in Java
Sie haben bereits die Grundlagen einer ArrayList in Java verstanden. Lassen Sie uns nun einen Blick auf die Syntax einer ArrayList werfen und im Anschluss daran auch sehen, wie sie in Java-Code verwendet werden kann.
ArrayList<Type> listName = new ArrayList<>();
Das obige Snippet zeigt die Syntax zum Definieren einer ArrayList. Der Type
definiert den Typ der ArrayList. Wenn Sie beispielsweise eine ArrayList von Integer-Datentypen deklarieren möchten, können Sie <Integer>
übergeben. Beachten Sie, dass Sie int
nicht übergeben können, da es sich um einen primitiven Datentyp handelt.
Sie müssen auch java.util.ArrayList
importieren, um ArrayList in Ihren Programmen zu verwenden. Hier ist ein einfaches Beispiel für ein Programm, das eine ArrayList deklariert:
import java.util.ArrayList; class Main { public static void main(String[] args) { // Declare An ArrayList ArrayList<String> rainbow = new ArrayList<>(); System.out.println(rainbow); } } Output: []
Im obigen Code wird eine ArrayList namens rainbow
vom Typ String
deklariert.
Um mit der ArrayList zu arbeiten, stehen mehrere Methoden zur Verfügung. Werfen wir einen Blick auf einige Methoden.
Die add
-Methode
Die Klasse ArrayList bietet verschiedene Methoden zum Ausführen von Operationen wie dem Hinzufügen oder Entfernen von Elementen, dem Abrufen von Werten, dem Festlegen eines Werts an einer bestimmten Position, dem Löschen einer ArrayList usw.
Die erste Methode, die wir sehen werden, ist die add
Methode.
Die Methode add
wird zum Hinzufügen eines einzelnen Elements zu einer ArrayList
verwendet. Die Syntax für add
ist unten dargestellt.
arrayList.add(int i, Element)
Lassen Sie uns jetzt die Syntax verstehen. Der erste Parameter i
ist ein optionaler Parameter, der die Indexposition darstellt, an der das Element hinzugefügt werden soll. Der zweite Parameter Element
ist das Element, das Sie hinzufügen möchten. Schauen wir uns jetzt ein Beispiel an.
rainbow.add("Violet"); System.out.println(rainbow); Output: [Violet] rainbow.add(0, "Red"); System.out.println(rainbow); Output: [Red, Violet]
rainbow.add("Violet")
fügt ein Element am Ende einer ArrayList hinzu. Und das rainbow.add(0, "Red")
fügt das Element Red
zur Indexposition 0
der ArrayList hinzu. Die Methode add()
gibt true
zurück, wenn ein Element erfolgreich eingefügt wurde.

Die get
-Methode
Die get
-Methode wird verwendet, um den Wert von einer angegebenen Position aus einer ArrayList abzurufen.
arrayList.get(int i);
Das in der obigen Syntax gezeigte i
ist die Indexposition. Wenn Sie beispielsweise das Element von der Indexposition 1
abrufen möchten, schreiben arrayList.get(1)
.
rainbow.add("Violet"); rainbow.add(0, "Red"); String color = rainbow.get(1); System.out.println(color); Output: Violet
Der obige Code gibt Violet
aus der ArrayList rainbow
zurück.
Die set
Methode
Die set
-Methode wird verwendet, um den Wert eines Elements zu ersetzen. Wenn Sie beispielsweise den Wert eines Elements an der Indexposition 0
ersetzen möchten, schreiben Sie rainbow.set(0, "Purple")
, vorausgesetzt, Sie haben eine ArrayList namens rainbow
.
Die Syntax für die set
Methode lautet wie folgt:
arrayList.set(int i, Element);
Dabei ist i
die Indexposition und Element
der Wert des neuen Elements.
rainbow.add("Violet"); System.out.println(rainbow); Output: [Violet] rainbow.add(0, "Red"); System.out.println(rainbow); Output: [Red, Violet] rainbow.set(1, "Purple"); System.out.println(rainbow); Output: [Red, Purple]
Im obigen Beispiel fügen wir einer ArrayList namens rainbow
zwei Werte hinzu. Zuerst wird das Element Violet
hinzugefügt, dann fügen wir an Position 0
der ArrayList das Element Red
hinzu. An diesem Punkt sieht die vollständige ArrayList wie folgt aus: [Red, Violet]
.
Nun wird das Element an Indexposition 1
mit der set
Methode durch den Wert Purple
ersetzt. Nach dem Ersetzen des Werts sieht die ArrayList wie folgt aus: [Red, Purple]
.
Die remove
-Methode
Die Methode ArrayList remove
wird zum Entfernen eines Werts aus der ArrayList verwendet. Sie können entweder den Wert oder die Indexposition des zu entfernenden Werts übergeben. Die Syntax für die Methode remove
ist unten dargestellt:
arrayList.remove(Object value); // or arrayList.remove(int i);
Nehmen wir ein Beispiel zum besseren Verständnis der Methode. Angenommen, Sie haben eine ArrayList namens rainbow
mit diesen Werten [Violet, Red, Green]
. Wenn Sie jetzt Red
aus der ArrayList entfernen möchten, können Sie rainbow.remove("Red");
. Wenn Sie diese Methode für die rainbow
-ArrayList aufrufen, wird das Element Red
daraus entfernt.
// rainbow = [Violet, Red, Green] rainbow.remove("Red"); System.out.println(rainbow); Output: [Violet, Green]
Sie können auch die Indexposition übergeben, um das Element an der Indexposition zu entfernen.
//rainbow = [Red, Green] rainbow.remove(0); // Remove item at index position 0 System.out.println(rainbow); Output: [Green]
Die clear
Methode
Wie der Name schon sagt, entfernt die Methode clear
alle Elemente aus einer ArrayList. Die Syntax ist unkompliziert und erfordert keine Parameter.
arraylist.clear()
Schauen wir uns ein Beispiel an,
rainbow.clear(); System.out.println(rainbow); Output: []
Die Methode clear
gibt keinen Wert zurück. Stattdessen wird der Wert der angegebenen ArrayList gelöscht.
Die size
Die size
-Methode gibt die Größe der gegebenen ArrayList zurück. Auch diese Methode benötigt keine Parameter. Die Syntax ist unten dargestellt.
arrayList.size();
Die arrayList
ist hier der Name der ArrayList. Lassen Sie uns die size
anhand eines Beispiels verstehen.
ArrayList<String> rainbow = new ArrayList<>(); rainbow.add("Violet"); rainbow.add("Red"); rainbow.add("Green"); System.out.println(rainbow.size()); Output: 3
Diese Methode gibt den Wert der ArrayList-Größe zurück. Im obigen Beispiel besteht der ArrayList- rainbow
aus drei Werten, sodass die size
3 zurückgibt.
Fazit
In diesem Artikel wurde erläutert, was eine ArrayList ist und wie sie sich von einem Array unterscheidet. Wir haben auch gesehen, wie eine ArrayList deklariert und verwendet werden kann, indem verschiedene Methoden verwendet werden, die für die ArrayList-Klasse verfügbar sind.
Wenn Sie tiefer in das Erlernen von Java eintauchen möchten, sehen Sie sich diese Online-Java-Kurse an.