Erstellen Sie eine leere veränderliche Liste in Kotlin

David Mbochi Njonge 12 Juli 2022
  1. Verwenden Sie die mutableListOf()-Methode in Kotlin
  2. Verwenden Sie die arrayListOf()-Methode in Kotlin
  3. Verwenden Sie den Konstruktor einer Datenstruktur in Kotlin
  4. Verwendung der impliziten Deklaration in Kotlin
  5. Fazit
Erstellen Sie eine leere veränderliche Liste in Kotlin

Bevor wir uns mit den Beispielen befassen, müssen wir zwei gebräuchliche Begriffe bei der Arbeit mit Daten vom Typ List verstehen.

Die Begriffe umfassen veränderlich und unveränderlich. Eine veränderliche Liste ist eine Liste, die durch Hinzufügen oder Entfernen von Elementen in der Datenstruktur geändert werden kann.

Eine unveränderliche Liste ist eine Liste, die weder durch Hinzufügen noch durch Entfernen von Elementen in der Datenstruktur modifiziert werden kann.

Aus den beiden Begriffen können wir zwei Arten von Listen haben, die List und MutableList enthalten. Beachten Sie, dass MutableList eine Liste ist, da sie von der Schnittstelle List erbt.

Der Typ MutableList gibt eine Liste zurück, die geändert werden kann, und der Typ List gibt eine Liste zurück, die nicht geändert werden kann. Wenn Sie jedoch eine Implementierung der List erstellen, ohne anzugeben, ob die Liste veränderlich oder unveränderlich ist, wird standardmäßig davon ausgegangen, dass sie veränderbar ist.

Dieses Tutorial zeigt uns, wie man eine leere veränderliche Liste erstellt. Eine leere Liste bedeutet, dass die Datenstruktur keine Elemente enthält.

Verwenden Sie die mutableListOf()-Methode in Kotlin

Gehen Sie zu IntelliJ und erstellen Sie ein neues Kotlin-Projekt. Erstellen Sie eine neue Kotlin-Datei mit dem Namen Main.kt im Ordner kotlin.

Kopieren Sie den folgenden Code und fügen Sie ihn in die Datei ein.

val mutableEmptyList: MutableList<String> = mutableListOf();

fun main() {

    println(mutableEmptyList.isEmpty());

    mutableEmptyList.add("I am the first element !")

    println(mutableEmptyList.isEmpty());

}

Die Methode mutableListOf() gibt eine leere Liste vom Typ MutableList zurück, was bedeutet, dass wir Elemente in der Datenstruktur hinzufügen und entfernen können. Um dies zu überprüfen, können Sie die Methode add() oder remove() für das zurückgegebene Objekt aufrufen.

Führen Sie den obigen Code aus und beachten Sie, dass die Methode isEmpty() true zurückgibt, bevor ein Element hinzugefügt wird, und false, nachdem ein Element hinzugefügt wird, wie unten gezeigt.

true
false

Verwenden Sie die arrayListOf()-Methode in Kotlin

Kommentieren Sie das vorherige Beispiel und fügen Sie den folgenden Code in die Datei Main.kt ein.

val mutableEmptyList: MutableList<String> = arrayListOf();

fun main() {

    println(mutableEmptyList.isEmpty());

    mutableEmptyList.add("I am the first element !")

    println(mutableEmptyList.isEmpty());

}

Die Methode arrayListOf() gibt eine leere ArrayList zurück, aber im vorherigen Beispiel geben wir eine MutableList zurück. Wie ist das möglich?

Im Einführungsabschnitt haben wir erwähnt, dass die MutableList eine List ist, weil sie von der List-Schnittstelle erbt; Da ArrayList die List-Schnittstelle implementiert, können wir MutableList mit der ArrayList zurückgeben.

Sobald wir Zugriff auf die veränderliche Liste haben, können wir die Methode isEmpty() aufrufen, um zu überprüfen, ob die Methode leer ist. Führen Sie den obigen Code aus und beobachten Sie, dass die Ausgaben wie unten gezeigt aussehen.

true
false

Verwenden Sie den Konstruktor einer Datenstruktur in Kotlin

Kommentieren Sie das vorherige Beispiel und fügen Sie den folgenden Code in die Datei Main.kt ein.

import java.util.LinkedList

val mutableEmptyList: MutableList<String> = LinkedList();

fun main() {

    println(mutableEmptyList.isEmpty());

    mutableEmptyList.add("I am the first element !")

    println(mutableEmptyList.isEmpty());

}

Die Klasse LinkedList implementiert die Schnittstelle List, die uns hilft, eine MutableList vom Typ LinkedList zurückzugeben.

Der Konstruktor LinkedList() gibt eine leere Liste zurück und gilt für die Konstruktoren anderer Datenstrukturen, die die Schnittstelle List implementieren.

Führen Sie das obige Beispiel aus und beachten Sie, dass die Ausgabe genauso gedruckt wird wie die anderen Beispiele. Die Ausgabe ist unten gezeigt.

true
false

Verwendung der impliziten Deklaration in Kotlin

Kommentieren Sie das vorherige Beispiel und fügen Sie den folgenden Code in die Datei Main.kt ein.

val mutableEmptyList  = ArrayList<String>();

fun main() {

    println(mutableEmptyList.isEmpty());

    mutableEmptyList.add("I am the first element !")

    println(mutableEmptyList.isEmpty());

}

Wie Sie in den vorherigen Beispielen bemerkt haben, haben wir direkt den gewünschten Rückgabetyp angegeben, nämlich die MutableList. Im Einführungsabschnitt haben wir erwähnt, dass jede Listenimplementierung als änderbar angenommen wird, wenn wir nicht angeben, ob wir eine schreibgeschützte Liste wollen.

Dieses Beispiel zeigt, wie die MutableList implizit zurückgegeben wird, indem eine List-Implementierung ohne Angabe des Rückgabetyps definiert wird.

Führen Sie den obigen Code aus und beachten Sie, dass die von der Klasse AbstractCollection geerbte isEmpty()-Methode true zurückgibt, bevor ein Element hinzugefügt wird, und false, nachdem ein Element hinzugefügt wurde. Die Ausgabe ist unten gezeigt.

true
false

Fazit

In diesem Tutorial haben wir gelernt, wie man eine leere MutableList mit verschiedenen Ansätzen erstellt, darunter: mit der mutableListOf()-Methode, mit der arrayListOf()-Methode, mit dem Konstruktor einer Datenstruktur und mit der Ansatz der impliziten Deklaration.

David Mbochi Njonge avatar David Mbochi Njonge avatar

David is a back end developer with a major in computer science. He loves to solve problems using technology, learning new things, and making new friends. David is currently a technical writer who enjoys making hard concepts easier for other developers to understand and his work has been published on multiple sites.

LinkedIn GitHub