Avatar ·

¿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!