English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Tutorial werden wir die Klasse Java ArrayList lernen. Wir werden durch Beispiele verschiedene Operationen und Methoden der ArrayList lernen.
Die Klasse ArrayList ist eine Implementierung des Interfaces List und ermöglicht es uns, Arrays mit anpassbarer Größe zu erstellen.
In Java müssen wir die Größe des Arrays zunächst deklarieren, bevor wir es verwenden können. Sobald die Größe des Arrays deklariert wurde, ist es schwierig, sie zu ändern.
Um dieses Problem zu lösen, können wir die Klasse ArrayList verwenden. Die Klasse ArrayList, die im Paket java.util existiert, ermöglicht es uns, Arrays mit anpassbarer Größe zu erstellen.
Im Gegensatz zu Arrays kann eine Arrayliste (ein Objekt der Klasse ArrayList) die Kapazität automatisch anpassen, wenn wir Elemente hinzufügen oder entfernen. Daher wird die Arrayliste auch als dynamisches Array bezeichnet.
Dies ist die Methode, um eine Arrayliste in Java zu erstellen:
ArrayList<Type> arrayList = new ArrayList<>();
Hier weist Type auf den Typ der Arrayliste hin. Zum Beispiel,}
//Erstelle eine Integer-typische ArrayList ArrayList<Integer> arrayList = new ArrayList<>(); //Erstelle eine String-typische ArrayList ArrayList<String> arrayList = new ArrayList<>();
Im obigen Programm haben wir Integer und String verwendet. Hier ist Integer die entsprechende Wrapperklasse für den int-Typ.
Wrapperklassen sind Klassen, die primitiven Datentypen umschließen. Zum Beispiel umschließt die Integer-Klasse den int-Typ, die Float-Klasse umschließt Float und so weiter.
Hinweis:Wir können keine Arraylisten für primitiven Datentypen (wie int, float, char usw.) erstellen. Stattdessen müssen wir die entsprechenden Wrapperklassen verwenden.
Für Strings ist String eine Klasse und hat keine Wrapperklasse. Daher verwenden wir String wie gewohnt.
Wir können auch eine ArrayList mit dem List-Interface erstellen. Dies liegt daran, dass die ArrayList-Klasse das List-Interface implementiert.
List<String> list = new ArrayList<>();
ArrayList bietet verschiedene Methoden, um Arraylistenoperationen auszuführen.
1.Verwende die Methode add()
Um ein einzelnes Element zu einer Arrayliste hinzuzufügen, verwenden wir die Methode add(). Zum Beispiel,
import java.util.ArrayList; class Main { public static void main(String[] args){ ArrayList<String> Tiere = new ArrayList<>(); //Füge Elemente hinzu Tiere.add("Hund"); Tiere.add("Katze"); Tiere.add("Pferd"); System.out.println("ArrayList: ") + animals); } }
Ausgaberesultat
ArrayList: [Hund, Katze, Pferd]
2.Verwende die Indexnummer
Wir können auch Elemente in eine Arrayliste anhand von Indizes hinzufügen. Zum Beispiel,
import java.util.ArrayList; class Main { public static void main(String[] args){ ArrayList<String> Tiere = new ArrayList<>(); //Füge Elemente hinzu tiere.add(0,"Hund"); tiere.add(1,"Katze"); tiere.add(2,"Pferd"); System.out.println("ArrayList: ") + animals); } }
Ausgaberesultat
ArrayList: [Hund, Katze, Pferd]
3.Füge die Elemente einer Arrayliste zu einer anderen Arrayliste hinzu
Um alle Elemente einer Arrayliste in eine neue Arrayliste hinzuzufügen, verwenden Sie die Methode addAll(). Zum Beispiel,
import java.util.ArrayList; class Main { public static void main(String[] args){ ArrayList<String> säugetiere = new ArrayList<>(); säugetiere.add("Hund"); säugetiere.add("Katze"); säugetiere.add("Pferd"); System.out.println("Säugetiere: ") + säugetiere); ArrayList<String> Tiere = new ArrayList<>(); tiere.add("Krokodil"); // Füge alle Elemente von säugetiere zu tiere hinzu tiere.addAll(säugetiere); System.out.println("Tiere: ") + animals); } }
Ausgaberesultat
Mammals: [Dog, Cat, Horse] Animals: [Crocodile, Dog, Cat, Horse]
与数组不同,我们不能直接初始化数组列表。 但是,我们可以使用Arrays类的asList()方法来达到相同的效果。
为了使用asList()方法,我们必须先导入 java.util.Arrays 包。
例如,
import java.util.ArrayList; import java.util.Arrays; class Main { public static void main(String[] args) { //Arrayliste erstellen ArrayList<String> animals = new ArrayList<>(Arrays.asList("Cat", "Cow", "Dog")); System.out.println("ArrayList: ") + animals); //访问数组列表中的元素 String element = animals.get(1); System.out.println("访问元素: " + element); } }
Ausgaberesultat
ArrayList: [Cat, Cow, Dog] 访问元素: Cow
在上面的示例中,请注意以下表达式:
new ArrayList<>(Arrays.asList(("Cat", "Cow", "Dog"));
在这里,我们首先在3个元素的数组:"Cat","Cow",和"Dog"。然后,该asList()方法用于将数组转换为数组列表。
1.使用get()方法
要随机访问数组列表的元素,我们使用get()方法。例如,
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> animals = new ArrayList<>(); //Element hinzufügen in der Arrayliste Tiere.add("Hund"); Tiere.add("Pferd"); Tiere.add("Katze"); System.out.println("ArrayList: ") + animals); //从数组列表中获取元素 String str = animals.get(0); System.out.print("索引0处的元素: " + str); } }
Ausgaberesultat
ArrayList: [Dog, Horse, Cat] 索引0处的元素: Dog
2.使用 iterator() 方法
要按顺序访问数组列表的元素,我们使用iterator()方法。我们必须导入 java.util.Iterator 包才能使用此方法。例如,
import java.util.ArrayList; import java.util.Iterator; class Main { public static void main(String[] args){ ArrayList<String> Tiere = new ArrayList<>(); //Element hinzufügen in der Arrayliste Tiere.add("Hund"); Tiere.add("Katze"); Tiere.add("Pferd"); animals.add("Zebra"); //创建一个Iterator对象 Iterator<String> iterate = animals.iterator(); System.out.print("ArrayList: "); //使用Iterator的方法访问元素 while(iterate.hasNext()){ System.out.print(iterate.next()); System.out.print(", "); } } }
Ausgaberesultat
ArrayList: Dog, Cat, Horse, Zebra,
Beachtungen:
hasNext() - wenn im Arraylist das nächste Element vorhanden ist, wird true zurückgegeben.
next() - Nächstes Element der Arrayliste zurückgeben
Um das Element der Arrayliste zu ändern, können wir die set()-Methode verwenden. Zum Beispiel,
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> animals = new ArrayList<>(); //Element hinzufügen in der Arrayliste Tiere.add("Hund"); Tiere.add("Katze"); Tiere.add("Pferd"); System.out.println("ArrayList: ") + animals); //Ändern Sie das Element der Arrayliste animals.set(2, "Zebra"); System.out.println("Geänderte ArrayList: "); + animals); } }
Ausgaberesultat
ArrayList: [Hund, Katze, Pferd] Geänderte ArrayList: [Dog, Cat, Zebra]
1.Verwenden Sie die remove()-Methode
Um ein Element aus der Arrayliste zu entfernen, können wir die remove()-Methode verwenden. Zum Beispiel,
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> Tiere = new ArrayList<>(); //Element hinzufügen in der Arrayliste Tiere.add("Hund"); Tiere.add("Katze"); Tiere.add("Pferd"); System.out.println("Ursprüngliche ArrayList: "); + animals); //von der Indizes2entfernen Sie das Element String str = animals.remove(2); System.out.println("Endgültige ArrayList: "); + animals); System.out.println("Entfernen Sie das Element: "); + str); } }
Ausgaberesultat
Ursprüngliche ArrayList: [Dog, Cat, Horse] Endgültige ArrayList: [Dog, Cat] Entfernen Sie das Element: Horse
2.Verwenden Sie die removeAll()-Methode
Um alle Elemente aus der Arrayliste zu entfernen, verwenden wir die removeAll()-Methode. Zum Beispiel,
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> Tiere = new ArrayList<>(); // Elemente in ArrayList hinzufügen Tiere.add("Hund"); Tiere.add("Katze"); Tiere.add("Pferd"); System.out.println("Ursprüngliche ArrayList: "); + animals); // Entfernen Sie alle Elemente animals.removeAll(animals); System.out.println("Endgültige ArrayList: "); + animals); } }
Ausgaberesultat
Ursprüngliche ArrayList: [Dog, Cat, Horse] Endgültige ArrayList: []
3.Verwenden Sie die clear()-Methode
Wir können auch die clear()-Methode verwenden, um alle Elemente aus der Arrayliste zu entfernen. Zum Beispiel,
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> animals = new ArrayList<>(); //Element hinzufügen in der Arrayliste Tiere.add("Hund"); Tiere.add("Katze"); Tiere.add("Pferd"); System.out.println("Ursprüngliche ArrayList: "); + animals); //Entfernen Sie alle Elemente animals.clear(); System.out.println("Endgültige ArrayList: "); + animals); } }
Ausgaberesultat
Ursprüngliche ArrayList: [Dog, Cat, Horse] Endgültige ArrayList: []
Hinweis:Die clear()-Methode ist effizienter als die removeAll()-Methode.
1.Verwenden Sie die for-Schleife
import java.util.ArrayList; class Main { public static void main(String[] args) { //Arrayliste erstellen ArrayList<String> Tiere = new ArrayList<>(); animals.add("Cow"); Tiere.add("Katze"); Tiere.add("Hund"); System.out.println("ArrayList: ") + animals); //Verwenden Sie die for-Schleife System.out.println("Besuchen Sie alle Elemente: "); for(int i = 0; i < animals.size(); i++) { System.out.print(animals.get(i)); System.out.print(", "); } } }
Ausgaberesultat
ArrayList: [Cow, Cat, Dog] Alle Elemente aufrufen: Cow, Cat, Dog,
2.Verwenden Sie die forEach-Schleife
import java.util.ArrayList; class Main { public static void main(String[] args) { // Arrayliste erstellen ArrayList<String> Tiere = new ArrayList<>(); animals.add("Cow"); Tiere.add("Katze"); Tiere.add("Hund"); System.out.println("ArrayList: ") + animals); //Verwenden Sie den forEach-Loop System.out.println("Alle Elemente aufrufen: "); for(String animal : animals) { System.out.print(animal); System.out.print(", "); } } }
Ausgaberesultat
ArrayList: [Cow, Cat, Dog] Alle Elemente aufrufen: Cow, Cat, Dog,
In beiden Beispielen haben wir die Elemente der Arrayliste mit einem Loop durchsucht.
Um die Länge der Arrayliste zu erhalten, verwenden wir die Methode size(). Zum Beispiel,
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> animals = new ArrayList<>(); // Element hinzufügen in der arrayList Tiere.add("Hund"); Tiere.add("Pferd"); Tiere.add("Katze"); System.out.println("ArrayList: ") + animals); //Arraylist Größe abrufen System.out.println("Größe der arrayList: ", + animals.size()); } }
Ausgaberesultat
ArrayList: [Dog, Horse, Cat] Größe der arrayList: 3
Um die Elemente der Arrayliste zu sortieren, verwenden wir die Methode sort() der Collections-Klasse. Um sie zu verwenden, müssen wir das Paket java.util.Collections importieren.
Standardmäßig erfolgt die Sortierung in aufsteigender alphabetischer oder numerischer Reihenfolge. Zum Beispiel,
import java.util.ArrayList; import java.util.Collections; class Main { public static void main(String[] args){ ArrayList<String> animals = new ArrayList<>(); //Element hinzufügen in der Arrayliste Tiere.add("Pferd"); animals.add("Zebra"); Tiere.add("Hund"); Tiere.add("Katze"); System.out.println("Unsortierte ArrayList: ", + animals); //Sortieren der Arrayliste Collections.sort(animals); System.out.println("Sortierte ArrayList: ", + animals); } }
Ausgaberesultat
Unsortierte ArrayList: [Horse, Zebra, Dog, Cat] Sortierte ArrayList: [Cat, Dog, Horse, Zebra]
Für mehr Informationen zur Sortierung von Arraylisten besuchen Sie Java ArrayList sort.
In Java können wir die Methode toArray() verwenden, um die Arrayliste in ein Array zu konvertieren. Zum Beispiel,
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> animals = new ArrayList<>(); //Element hinzufügen in der Arrayliste Tiere.add("Hund"); Tiere.add("Katze"); Tiere.add("Pferd"); System.out.println("ArrayList: ") + animals); //Ein neues String-Array erstellen String[] arr = new String[Tiere.size()]; //ArrayList in Array konvertieren Tiere.toArray(arr); System.out.print("Array: "); for(String item: arr) { System.out.print(item+", "); } } }
Ausgaberesultat
ArrayList: [Hund, Katze, Pferd] Array: Hund, Katze, Pferd,
Wir können auch ein Array in eine Arrayliste konvertieren. Dafür können wir die asList()-Methode der Arrays-Klasse verwenden.
Um asList() zu verwenden, müssen wir zunächst das Paket java.util.Arrays importieren. Zum Beispiel
import java.util.ArrayList; import java.util.Arrays; class Main { public static void main(String[] args) { //Ein String-Array erstellen String[] arr = {"Hund", "Katze", "Pferd"}; System.out.print("Array: "); //Array ausgeben for(String str: arr) { System.out.print(str); System.out.print(" "); } //ArrayList aus Array erstellen ArrayList<String> Tiere = new ArrayList<>(Arrays.asList(arr)); System.out.println("\nArrayList: ") + animals); } }
Ausgaberesultat
Array: Hund, Katze, Pferd ArrayList: [Hund, Katze, Pferd]
In dem obigen Programm haben wir zunächst ein String-Array arr erstellt.
Dann verwenden wir die asList()-Methode, um das Array in eine Arrayliste zu konvertieren.
Um eine Arrayliste in einen String zu konvertieren, kann die toString()-Methode verwendet werden. Zum Beispiel
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> Tiere = new ArrayList<>(); //Elemente in ArrayList hinzufügen Tiere.add("Hund"); Tiere.add("Katze"); Tiere.add("Pferd"); System.out.println("ArrayList: ") + animals); //Konvertieren Sie ArrayList in einen String String str = animals.toString(); System.out.println("String: " + str); } }
Ausgaberesultat
ArrayList: [Hund, Katze, Pferd] String: [Hund, Katze, Pferd]
Hinweis: toString() wandelt die gesamte Array-Liste in einen einzigen String um.
Methode | Inhaltsbeschreibung |
---|---|
clone() | Erstellen Sie eine neue Array-Liste mit den gleichen Elementen, Größe und Kapazität. |
contains() | Suchen Sie das angegebene Element in der Array-Liste und geben Sie einen Boolean-Wert zurück. |
ensureCapacity() | Bestimmen Sie die Anzahl der Elemente, die die Array-Liste enthalten kann. |
isEmpty() | Überprüfen Sie, ob die Array-Liste leer ist. |
indexOf() | Suchen Sie das angegebene Element in der Array-Liste und geben Sie die Indexposition des Elements zurück. |
trimToSize() | Reduzieren Sie die Kapazität der Array-Liste auf die aktuelle Größe. |