English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grund教程

Java Prozesssteuerung

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java Ausnahmebehandlung

Java Liste (List)

Java Queue (Warteschlange)

Java Map-Kollektion

Java Set-Kollektion

Java Eingabe/Ausgabe (I/O)

Java Reader/Writer

Andere Themen von Java

Java ArrayList

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.

Java-Array und ArrayList

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.

ArrayList erstellen

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 Methoden

ArrayList bietet verschiedene Methoden, um Arraylistenoperationen auszuführen.

Füge Elemente zur ArrayList hinzu

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]

使用asList()初始化ArrayList

与数组不同,我们不能直接初始化数组列表。 但是,我们可以使用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()方法用于将数组转换为数组列表。

访问ArrayList的元素

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

Ändern Sie das ArrayList-Element

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]

Entfernen Sie das ArrayList-Element

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.

durchsuchen Sie die ArrayList

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.

ArrayList Länge abrufen

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

Sortieren der Elemente der ArrayList

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.

Java ArrayList in Array konvertieren

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,

Java Array in ArrayList konvertieren

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.

Java ArrayList in String 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.

Andere ArrayList Methoden

MethodeInhaltsbeschreibung
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.