0Pricing
Android Academy · Lección

Listas y listas mutables

Almacene datos ordenados

Listas y listas mutables es una lección gratuita de Android Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Android Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Android Academy incluye 4 lecciones en total.

¿Qué es una lista?

Una lista es una colección ordenada de elementos. Cada elemento tiene una posición, denominada índice, que comienza en 0.

En Kotlin, hay dos tipos de listas: listas de solo lectura, que no se pueden cambiar, y listas mutables, a las que se pueden añadir o quitar elementos.

Las listas aparecen en todas partes en las aplicaciones Android: un feed de publicaciones, una fila de botones o resultados de búsqueda.

Crear una lista de solo lectura

Use listOf() para crear una lista de solo lectura. Una vez creada, no puede añadir ni quitar elementos.

Esta es la opción predeterminada más segura. Si sus datos nunca cambian, prefiera una lista de solo lectura.

fun main() {
    val fruits = listOf("apple", "banana", "cherry")
    println(fruits)
    println("Size: ${fruits.size}")
}

Acceder a elementos mediante el índice

Lea un elemento usando corchetes y su índice. El primer elemento está en el índice 0.

También puede usar first() y last() para acceder a los extremos de la lista.

fun main() {
    val colors = listOf("red", "green", "blue")
    println(colors[0])
    println(colors.first())
    println(colors.last())
}

Recorrer una lista

El bucle for visita cada elemento en orden. Es la forma más habitual de procesar todos los elementos.

Aquí imprimimos cada nombre en su propia línea.

fun main() {
    val names = listOf("Ada", "Linus", "Grace")
    for (name in names) {
        println("Hello, $name")
    }
}

Crear una lista mutable

Cuando necesite cambiar el contenido, use mutableListOf(). Permite añadir y quitar elementos después de crear la lista.

Use add() para añadir un elemento al final.

fun main() {
    val tasks = mutableListOf("wake up", "code")
    tasks.add("sleep")
    println(tasks)
}

Quitar elementos

Use remove() para eliminar un valor específico o removeAt() para eliminarlo por índice.

Ambos métodos solo funcionan con listas mutables. Llamarlos en una lista de solo lectura provoca un error de compilación.

fun main() {
    val nums = mutableListOf(10, 20, 30, 40)
    nums.remove(20)
    nums.removeAt(0)
    println(nums)
}

Actualizar un elemento

En una lista mutable, asigne un valor nuevo a un índice para reemplazar el elemento existente.

El índice debe existir; de lo contrario, se producirá un error de índice fuera de límites.

fun main() {
    val scores = mutableListOf(5, 8, 3)
    scores[1] = 99
    println(scores)
}

Comprobar el contenido

Use contains() o la palabra clave in para comprobar si una lista contiene un valor.

Use isEmpty() para comprobar si una lista no tiene elementos. Funcionan con ambos tipos de lista.

fun main() {
    val pets = listOf("cat", "dog")
    println("cat" in pets)
    println(pets.contains("fish"))
    println(pets.isEmpty())
}

Tipos de solo lectura frente a mutables

El tipo List<T> es de solo lectura. El tipo MutableList<T> añade operaciones de modificación.

Un patrón habitual consiste en crear una lista con un tipo mutable y exponerla después como una List de solo lectura para impedir que otro código la modifique.

val safe: List<Int> = mutableListOf(1, 2, 3)
// safe.add(4) would NOT compile

Tamaño e índices

La propiedad size indica cuántos elementos contiene una lista.

Los índices válidos van de 0 a size - 1. Use indices para recorrer las posiciones.

fun main() {
    val items = listOf("a", "b", "c")
    for (i in items.indices) {
        println("$i -> ${items[i]}")
    }
}

Añadir varios elementos a la vez

Use addAll() para añadir a una lista mutable todos los elementos de otra colección.

Resulta útil al combinar resultados, por ejemplo, al unir dos páginas de datos.

fun main() {
    val list = mutableListOf(1, 2)
    list.addAll(listOf(3, 4, 5))
    println(list)
    println("Total: ${list.size}")
}

Comprobación rápida

Compruebe lo que ha aprendido sobre las listas de Kotlin.

Resumen

Ha aprendido que las listas están ordenadas y se indexan desde 0. listOf() crea listas de solo lectura y mutableListOf() crea listas modificables.

Puede añadir, quitar, actualizar, recorrer y comprobar el contenido. Prefiera las listas de solo lectura, salvo que realmente necesite modificarlas.

Preguntas frecuentes

¿La lección «Listas y listas mutables» es gratis?

Sí — el texto completo de «Listas y listas mutables» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Android Academy, actualiza a CoddyKit PRO. El curso de Android Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Listas y listas mutables»?

Almacene datos ordenados Practicas Android Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Android Academy?

No se requiere experiencia previa. Android Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Listas y listas mutables»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Android Academy?

Sí. Cada lección de Android Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Listas y listas mutables
  2. Mapas y conjuntos
  3. map, filter, forEach
  4. Lambdas y funciones de orden superior
← Volver a Android Academy