0Pricing
Android Academy · Lección

Colecciones de Kotlin

Trabaje con List, Set y Map. Utilice operadores funcionales como filter, map, sortedBy, forEach, find, any y all, y encadene operaciones para transformar datos de forma concisa.

Colecciones de Kotlin es una lección gratuita de Android Academy en CoddyKit. Esta es la lección 1 de 6. 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 6 lecciones en total.

Introducción a las colecciones

La biblioteca estándar de Kotlin proporciona tres tipos principales de colecciones:

  • List — secuencia ordenada de elementos (puede contener duplicados)
  • Set — elementos únicos, sin un orden específico
  • Map — pares clave-valor; las claves son únicas

Cada tipo tiene una versión inmutable (de solo lectura) y una versión mutable (se puede modificar).

Listas: listOf frente a mutableListOf

Cree listas mediante funciones de fábrica:

fun main() {
    // Immutable — cannot add/remove items
    val fruits = listOf("Apple", "Banana", "Cherry")
    println(fruits[0])       // Apple
    println(fruits.size)     // 3

    // Mutable — can modify
    val scores = mutableListOf(10, 20, 30)
    scores.add(40)
    scores.removeAt(0)       // remove index 0
    println(scores)          // [20, 30, 40]
}

Map: pares clave-valor

Use mapOf y mutableMapOf para crear mapas. Acceda a los valores mediante la clave:

fun main() {
    val capitals = mapOf(
        "Turkey" to "Ankara",
        "Germany" to "Berlin",
        "Japan" to "Tokyo"
    )

    println(capitals["Turkey"])      // Ankara
    println(capitals["France"])      // null (not found)
    println(capitals.getOrDefault("France", "Unknown")) // Unknown

    // Iterate
    for ((country, city) in capitals) {
        println("$country -> $city")
    }
}

filter: seleccionar elementos

filter devuelve una lista nueva que contiene únicamente los elementos que cumplen una condición:

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8)

    val evens = numbers.filter { it % 2 == 0 }
    println(evens)   // [2, 4, 6, 8]

    val names = listOf("Alice", "Bob", "Anna", "Charlie")
    val aNames = names.filter { it.startsWith("A") }
    println(aNames)  // [Alice, Anna]
}

map: transformar elementos

map transforma cada elemento y devuelve una lista nueva:

fun main() {
    val prices = listOf(10.0, 20.0, 30.0)

    // Apply 10% tax
    val withTax = prices.map { it * 1.1 }
    println(withTax)  // [11.0, 22.0, 33.0]

    val names = listOf("alice", "bob", "carol")
    val upper = names.map { it.uppercase() }
    println(upper)    // [ALICE, BOB, CAROL]
}

sortedBy y sortedByDescending

Ordene una lista según una propiedad:

data class Student(val name: String, val grade: Int)

fun main() {
    val students = listOf(
        Student("Alice", 88),
        Student("Bob", 95),
        Student("Carol", 72)
    )

    val byGrade = students.sortedByDescending { it.grade }
    for (s in byGrade) println("${s.name}: ${s.grade}")
    // Bob: 95
    // Alice: 88
    // Carol: 72
}

forEach y find

Otras dos funciones útiles para colecciones:

  • forEach — itera sin crear un resultado
  • find — devuelve el primer elemento que cumple una condición, o null

Encadenar operaciones

Encadene varias operaciones para transformar datos de forma concisa:

data class Product(val name: String, val price: Double, val inStock: Boolean)

fun main() {
    val products = listOf(
        Product("Laptop", 999.0, true),
        Product("Mouse", 29.0, false),
        Product("Keyboard", 79.0, true),
        Product("Monitor", 349.0, true)
    )

    // In-stock products under $500, sorted by price
    val result = products
        .filter { it.inStock && it.price < 500 }
        .sortedBy { it.price }
        .map { "${it.name}: ${it.price}" }

    result.forEach { println(it) }
}

any, all y count

Funciones de agregación para obtener respuestas rápidamente:

  • any { condition } — true si al menos un elemento cumple la condición
  • all { condition } — true si todos los elementos cumplen la condición
  • count { condition } — cantidad de elementos que cumplen la condición
  • sumOf { it.price } — suma de una propiedad numérica

Comprobación rápida

¿Qué función usaría para obtener únicamente los elementos de una lista que cumplen una condición?

Resumen: colecciones de Kotlin

Ahora puede trabajar con datos de forma eficiente en Kotlin:

  • listOf / mutableListOf, mapOf / mutableMapOf
  • filter — seleccionar elementos coincidentes
  • map — transformar elementos
  • sortedBy / sortedByDescending
  • Encadene operaciones para crear flujos de datos claros y legibles

Siguiente: mostrar listas en pantalla con RecyclerView.

Preguntas frecuentes

¿La lección «Colecciones de Kotlin» es gratis?

Sí — el texto completo de «Colecciones de Kotlin» 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 6 lecciones en total.

¿Qué aprenderé en «Colecciones de Kotlin»?

Trabaje con List, Set y Map. Utilice operadores funcionales como filter, map, sortedBy, forEach, find, any y all, y encadene operaciones para transformar datos de forma concisa. 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 6.

¿Cuánto tiempo toma la lección «Colecciones de Kotlin»?

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. Colecciones de Kotlin
  2. Fundamentos de RecyclerView
  3. Eventos de clic de RecyclerView
  4. SharedPreferences
  5. DataStore Preferences
  6. Adaptadores y DiffUtil
← Volver a Android Academy