¿Por qué en Kotlin List no tiene métodos add() y remove(), y Map no tiene put()?
¡Hola! Acabo de empezar a aprender Kotlin después de Java y me encontré con una situación confusa. En Java estoy acostumbrado a trabajar con listas así:
```kotlin
val list = ArrayList()
list.add("Hola") // En Java esto funciona
```
Pero en Kotlin obtengo un error de compilación cuando intento llamar a `add()` o `remove()` en un `List` normal. El mismo problema con `Map` — el método `put()` no está disponible. Sin embargo, el código compila si uso `MutableList` o `MutableMap`.
Aquí hay un ejemplo que no funciona:
```kotlin
fun main() {
val fruits = listOf("Manzana", "Banana")
fruits.add("Naranja") // Error: Unresolved reference: add
val capitals = mapOf("Rusia" to "Moscú")
capitals.put("Francia", "París") // Error: Unresolved reference: put
}
```
¿Por qué se hizo así? ¿Cuál es el sentido de dividir en `List` y `MutableList`? ¿Y cómo agregar/eliminar elementos correctamente? Leí la documentación, pero quiero entender la filosofía de este enfoque. ¡Gracias de antemano por la explicación!