Avatar ·

¿Cuál es la diferencia entre List y Array en Kotlin? ¿Cuándo usar cada uno?

¡Hola, colegas! Acabo de empezar a estudiar Kotlin y vengo de Java. En Kotlin hay dos tipos similares: `List` y `Array`. Veo que ambos almacenan múltiples elementos, pero no puedo entender cuál es la diferencia clave y cuándo usar cada uno. Por ejemplo, estoy escribiendo un programa simple para almacenar nombres de estudiantes: ```kotlin val namesArray = arrayOf("Alice", "Bob", "Charlie") val namesList = listOf("Alice", "Bob", "Charlie") ``` Ambos funcionan, puedo acceder por índice: `namesArray[0]` y `namesList[0]` — ambos devuelven "Alice". Pero noté que `Array` tiene la propiedad `size`, mientras que `List` tiene `count()`. También puedo cambiar un elemento del array: ```kotlin namesArray[0] = "Eve" // funciona namesList[0] = "Eve" // error de compilación ``` ¿Por qué sucede esto? Y también escuché que `List` puede ser mutable (`MutableList`), mientras que un array siempre es mutable. Pero entonces, ¿para qué sirve `Array` si `MutableList` hace lo mismo? ¿Y cómo se relaciona esto con el rendimiento? Por favor, aclárenme cuál es la diferencia fundamental.