Java ArrayList

Java 集合框架Java Collections Framework

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

import java.util.ArrayList;

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

import java.util.ArrayList;

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

import java.util.ArrayList;

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

import java.util.ArrayList;

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

import java.util.ArrayList;

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

import java.util.ArrayList;

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

import java.util.ArrayList;

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:

BasistypReferenztyp
booleschBoolean
ByteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charZeichen

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

import java.util.ArrayList;

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.ArrayList;
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.ArrayList;
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

Java 集合框架Java Collections Framework

Andere Erweiterungen