Warum haben List in Kotlin keine add- und remove-Methoden, und Map keine put-Methode?
Hallo zusammen! Ich habe gerade angefangen, Kotlin zu lernen, bin von Java umgestiegen und bin auf eine unverständliche Situation gestoßen. In Java sind wir es gewohnt, mit ArrayList, HashMap zu arbeiten und einfach list.add(), map.put() usw. aufzurufen. Aber in Kotlin, wenn ich schreibe:
```kotlin
val myList = listOf(1, 2, 3)
myList.add(4) // Fehler: Unresolved reference: add
val myMap = mapOf("a" to 1, "b" to 2)
myMap.put("c", 3) // Fehler: Unresolved reference: put
```
Beschwert sich der Compiler, dass es solche Methoden nicht gibt. Ich habe versucht, mutableListOf und mutableMapOf zu verwenden – dort funktionieren add und put. Aber warum gibt es sie nicht für normale listOf und mapOf? Ist das ein Bug der Sprache? Oder verstehe ich etwas an der Philosophie von Kotlin nicht?
Könnt ihr mir bitte erklären, wie man richtig mit Collections in Kotlin arbeitet, wenn ich mal Elemente hinzufügen und mal nur Daten lesen muss? Und was ist überhaupt der Unterschied zwischen diesen beiden Arten von Collections?
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen