Pourquoi en Kotlin List n'a-t-il pas de méthodes add() et remove(), et Map n'a-t-il pas put() ?
Bonjour ! Je viens de commencer à apprendre Kotlin après Java et je suis confronté à une situation incompréhensible. En Java, j'avais l'habitude de travailler avec des listes comme ceci :
```kotlin
val list = ArrayList()
list.add("Привет") // En Java, cela fonctionne
```
Mais en Kotlin, j'obtiens une erreur de compilation lorsque j'essaie d'appeler `add()` ou `remove()` sur un `List` normal. Même problème avec `Map` — la méthode `put()` n'est pas disponible. Pourtant, le code compile si j'utilise `MutableList` ou `MutableMap`.
Voici un exemple qui ne fonctionne pas :
```kotlin
fun main() {
val fruits = listOf("Яблоко", "Банан")
fruits.add("Апельсин") // Erreur : Unresolved reference: add
val capitals = mapOf("Россия" to "Москва")
capitals.put("Франция", "Париж") // Erreur : Unresolved reference: put
}
```
Pourquoi cela a-t-il été fait ainsi ? Quel est le sens de la séparation entre `List` et `MutableList` ? Et comment ajouter/supprimer correctement des éléments ? J'ai lu la documentation, mais j'aimerais comprendre la philosophie de cette approche. Merci d'avance pour l'explication !