Java ArrayList
Die ArrayList-Klasse ist ein Array, das dynamisch geändert werden kann. Der Unterschied zu gewöhnlichen Arrays besteht darin, dass es keine feste Größenbeschränkung gibt und wir Elemente hinzufügen oder löschen können.
ArrayList erbt von AbstractList und implementiert das List-Interface.

Die ArrayList-Klasse befindet sich im Paket java.util. Sie müssen sie vor der Verwendung importieren. Das Syntaxformat lautet wie folgt:
import java.util.ArrayList; // 引入 ArrayList 类 ArrayList<E> objectName =new ArrayList<>(); // 初始化
- E: generischer Datentyp, wird verwendet, um den Datentyp von objectName festzulegen,kann nur Referenzdatentypen sein。
- objectName: Objektname.
ArrayList ist eine Array-Warteschlange, die zugehörige Funktionen wie Hinzufügen, Löschen, Ändern und Durchlaufen bereitstellt.
Element hinzufügen
Die ArrayList-Klasse bietet viele nützliche Methoden. Sie können die add()-Methode verwenden, um Elemente zu einer ArrayList hinzuzufügen:
Beispiel
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
sites.add("Weibo");
System.out.println(sites);
}
}
Das obige Beispiel wird ausgeführt und das Ausgabeergebnis lautet:
[Google, Example, Taobao, Weibo]
Zugriff auf Element
Um auf ein Element in einer ArrayList zuzugreifen, können Sie die get()-Methode verwenden:
Beispiel
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
sites.add("Weibo");
System.out.println(sites.get(1)); // Auf das zweite Element zugreifen
}
}
Hinweis: Der Indexwert eines Arrays beginnt bei 0.
Das obige Beispiel wird ausgeführt und das Ausgabeergebnis lautet:
Example
Element ändern
Um ein Element in einer ArrayList zu ändern, können Sie die set()-Methode verwenden. Der erste Parameter der Methode set(int index, E element) ist der Index, der die Position des zu ersetzenden Elements angibt; der zweite Parameter ist das neue Element, das den neuen festzulegenden Wert angibt:
Beispiel
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
sites.add("Weibo");
sites.set(2, "Wiki"); // Der erste Parameter ist die Indexposition, der zweite ist der zu ändernde Wert
System.out.println(sites);
}
}
Das obige Beispiel wird ausgeführt und das Ausgabeergebnis lautet:
[Google, Example, Wiki, Weibo]
Element löschen
Um ein Element in einer ArrayList zu löschen, kannst du die remove()-Methode verwenden:
Beispiel
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
sites.add("Weibo");
sites.remove(3); // Das vierte Element löschen
System.out.println(sites);
}
}
Das obige Beispiel wird ausgeführt und das Ausgabeergebnis lautet:
[Google, Example, Taobao]
Größe berechnen
Um die Anzahl der Elemente in einer ArrayList zu berechnen, kannst du die Methode size() verwenden:
Beispiel
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
sites.add("Weibo");
System.out.println(sites.size());
}
}
Das obige Beispiel wird ausgeführt und das Ausgabeergebnis lautet:
4
ArrayList durchlaufen
Wir können for verwenden, um über die Elemente in der ArrayList zu iterieren:
Beispiel
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
sites.add("Weibo");
for (int i = 0; i < sites.size(); i++) {
System.out.println(sites.get(i));
}
}
}
Das obige Beispiel wird ausgeführt und das Ausgabeergebnis lautet:
Google Example Taobao Weibo
Du kannst auch for-each verwenden, um über Elemente zu iterieren:
Beispiel
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
sites.add("Weibo");
for (String i : sites) {
System.out.println(i);
}
}
}
Das obige Beispiel wird ausgeführt und das Ausgabeergebnis lautet:
Google Example Taobao Weibo
Andere Referenztypen
Die Elemente in einer ArrayList sind tatsächlich Objekte. In den obigen Beispielen sind die Elemente der ArrayList alle vom Typ String.
Wenn wir andere Typen speichern möchten und <E> nur Referenzdatentypen sein kann, müssen wir die Wrapper-Klassen der Basistypen verwenden.
Die Tabelle der Wrapper-Klassen für Basistypen lautet wie folgt:
| Basistyp | Referenztyp |
|---|---|
| boolesch | Boolean |
| Byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Zeichen |
Darüber hinaus werden BigInteger und BigDecimal für Hochpräzisionsoperationen verwendet. BigInteger unterstützt Ganzzahlen mit beliebiger Genauigkeit. Sie sind ebenfalls Referenztypen, haben aber keine entsprechenden Basistypen.
ArrayList<Integer> li=new ArrayList<>(); // 存放整数元素 ArrayList<Character> li=new ArrayList<>(); // 存放字符元素
Das folgende Beispiel verwendet ArrayList zum Speichern von Zahlen (unter Verwendung des Typs Integer):
Beispiel
public class ExampleTest {
public static void main(String[] args) {
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(10);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(25);
for (int i : myNumbers) {
System.out.println(i);
}
}
}
Das obige Beispiel wird ausgeführt und das Ausgabeergebnis lautet:
10 15 20 25
ArrayList-Sortierung
Die Klasse Collections ist ebenfalls eine sehr nützliche Klasse, die sich im Paket java.util befindet. Ihre sort()-Methode kann Zeichen- oder Zahlenlisten sortieren.
Das folgende Beispiel sortiert Buchstaben:
Beispiel
import java.util.Collections; // Die Collections-Klasse importieren
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Taobao");
sites.add("Wiki");
sites.add("Example");
sites.add("Weibo");
sites.add("Google");
Collections.sort(sites); // Buchstaben sortieren
for (String i : sites) {
System.out.println(i);
}
}
}
Das obige Beispiel wird ausgeführt und das Ausgabeergebnis lautet:
Google Example Taobao Weibo Wiki
Das folgende Beispiel sortiert Zahlen:
Beispiel
import java.util.Collections; // Die Collections-Klasse importieren
public class ExampleTest {
public static void main(String[] args) {
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(33);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(34);
myNumbers.add(8);
myNumbers.add(12);
Collections.sort(myNumbers); // Zahlen sortieren
for (int i : myNumbers) {
System.out.println(i);
}
}
}
Das obige Beispiel wird ausgeführt und das Ausgabeergebnis lautet:
8 12 15 20 33 34
Java-ArrayList-Methoden
Die Liste der häufig verwendeten Java-ArrayList-Methoden lautet wie folgt:
| Methode | Beschreibung |
|---|---|
| add() | Fügt ein Element an der angegebenen Position in die ArrayList ein |
| addAll() | Fügt alle Elemente einer Sammlung zur ArrayList hinzu |
| clear() | Entfernt alle Elemente aus der ArrayList |
| clone() | Eine ArrayList kopieren |
| contains() | Feststellen, ob ein Element in der ArrayList enthalten ist |
| get() | Das Element in der ArrayList über den Indexwert abrufen |
| indexOf() | Den Indexwert eines Elements in der ArrayList zurückgeben |
| removeAll() | Alle Elemente in der ArrayList entfernen, die in der angegebenen Collection vorhanden sind |
| remove() | Ein einzelnes Element aus der ArrayList entfernen |
| size() | Die Anzahl der Elemente in der ArrayList zurückgeben |
| isEmpty() | Ermitteln, ob die ArrayList leer ist |
| subList() | Einen Teil der ArrayList-Elemente extrahieren |
| set() | Das Element am angegebenen Index in der ArrayList ersetzen |
| sort() | Die ArrayList-Elemente sortieren |
| toArray() | Die ArrayList in ein Array umwandeln |
| toString() | Die ArrayList in einen String umwandeln |
| ensureCapacity() | Legt die ArrayList auf die angegebene Kapazität fest |
| lastIndexOf() | Gibt die Position des letzten Vorkommens des angegebenen Elements in der ArrayList zurück |
| retainAll() | Behält diejenigen Elemente in der ArrayList, die auch in der angegebenen Collection vorhanden sind |
| containsAll() | Prüft, ob die ArrayList alle Elemente in der angegebenen Collection enthält |
| trimToSize() | Passt die Kapazität der ArrayList an die Anzahl der Elemente im Array an |
| removeRange() | Löscht Elemente zwischen den angegebenen Indizes in der ArrayList |
| replaceAll() | Ersetze jedes Element im Array durch den angegebenen Operationsinhalt |
| removeIf() | Entferne alle arraylist-Elemente, die bestimmte Bedingungen erfüllen |
| forEach() | Durchlaufe jedes Element in der arraylist und führe eine bestimmte Operation aus |
Weitere API-Methoden findest du unter:https://www.example.com/manual/jdk11api/java.base/java/util/ArrayList.html
Andere Erweiterungen
Java Collections Framework