Wie füge ich einen Artikel zu einem ArrayList
in Kotlin hinzu?
Antworten:
Für Personen, die nur von migrieren java
, Kotlin
List
wird standardmäßig eine unveränderliche und veränderbare Version von Listen aufgerufen MutableList
.
Wenn Sie also etwas haben wie:
val list: List<String> = ArrayList()
In diesem Fall erhalten Sie keine add()
Methode, da die Liste unveränderlich ist. Daher müssen Sie a MutableList
wie unten angegeben deklarieren :
val list: MutableList<String> = ArrayList()
Jetzt sehen Sie eine add()
Methode und können jeder Liste Elemente hinzufügen.
val list: MutableList<String> = ArrayList()
und val list = mutableListOf<String>()
?
Wenn Sie eine MUTABLE- Sammlung haben:
val list = mutableListOf(1, 2, 3)
list += 4
Wenn Sie eine IMMUTABLE- Sammlung haben:
var list = listOf(1, 2, 3)
list += 4
Beachten Sie, dass ich val
für die veränderbare Liste verwende, um zu betonen, dass das Objekt immer dasselbe ist, aber sein Inhalt sich ändert.
Im Falle der unveränderlichen Liste müssen Sie es machen var
. Ein neues Objekt wird vom +=
Bediener mit dem zusätzlichen Wert erstellt.
+=
in einer nicht veränderlichen Liste arbeiten, müssen Sie alle Elemente der Liste in eine neue veränderbare Liste kopieren und sie dann Ihrer tatsächlichen Liste neu zuweisen. Ich wusste nicht, dass es angemessen ist, Ihre Liste als zu deklarieren var
. Auf jeden Fall ist es für mich keine gute Idee, eine Liste als var zu deklarieren.
var
. Wenn eine unveränderliche Liste als deklariert ist val
, kann sich die Liste nie ändern. Eine Neuzuweisung zu einer anderen Variablen wäre möglich.