Avatar ·

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

¡Hola! Acabo de empezar a aprender Kotlin después de Java y me confundí con los tipos de datos. En Java estoy acostumbrado a que los arrays son un tipo básico, y las listas (List) son una interfaz del Collections Framework. Pero en Kotlin también apareció el tipo Array, y no entiendo cuándo usar cuál. Por ejemplo, escribí este código: ```kotlin val array: Array = arrayOf(1, 2, 3) val list: List = listOf(1, 2, 3) // Intento de cambiar un elemento array[0] = 10 // Esto funciona list[0] = 10 // Error: No set method providing array access ``` Veo que el array es mutable, pero la lista no. ¡Pero existe MutableList! Entonces, ¿para qué sirve Array? Además, escuché que en Kotlin los arrays son arrays de JVM, y las listas son wrappers sobre ArrayList. Pero, ¿cómo afecta esto al rendimiento y a la elección? Otra pregunta: vi que para tipos primitivos hay arrays separados: IntArray, ByteArray, etc. Pero para List no existe eso. ¿Por qué? ¿Y qué debería elegir para almacenar 1000 números enteros: Array o List? Explíquenme, por favor.