Biblioteca estándar de Kotlin: revisión completa y ejemplos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Biblioteca estándar de Kotlin: revisión completa



La biblioteca estándar de Kotlin (stdlib) es un potente conjunto de herramientas integrado directamente en el lenguaje. Proporciona todo lo necesario para el desarrollo diario: desde trabajar con colecciones y cadenas hasta corrutinas y serialización. A diferencia de Java, Kotlin elimina el código repetitivo ofreciendo una sintaxis concisa y expresiva. En esta revisión, analizaremos los módulos clave de stdlib con ejemplos prácticos.



1. Trabajo con colecciones

La biblioteca ofrece colecciones inmutables (List, Set, Map) y mutables (MutableList, MutableSet, MutableMap) con un rico conjunto de funciones de orden superior.



val numbers = listOf(1, 2, 3, 4, 5)val doubled = numbers.map { it * 2 } // [2, 4, 6, 8, 10]val even = numbers.filter { it % 2 == 0 } // [2, 4]val sum = numbers.reduce { acc, i -> acc + i } // 15


Funciones clave:

  • map, filter, flatMap — transformación y filtrado
  • groupBy, partition — agrupación de elementos
  • zip, unzip — combinación de colecciones
  • chunked, windowed — división en partes


2. Cadenas y expresiones regulares

Kotlin extiende String con métodos que no están en Java: eliminación de prefijos/sufijos, verificación de vacío, plantillas.



val text = "  Hola, Kotlin!  "println(text.trim()) // "Hola, Kotlin!"println(text.removePrefix("  ")) // "Hola, Kotlin!  "println(text.contains(Regex("Kotlin"))) // true

// Cadenas multilínea con trimIndentval json = """ { "name": "Kotlin", "year": 2016 }""".trimIndent()


3. Seguridad contra nulos y operador Elvis

Una de las características clave de Kotlin es la protección integrada contra NPE. La biblioteca estándar proporciona funciones de llamada segura (?.let) y el operador Elvis (?:).



val name: String? = getUserName()val length = name?.length ?: 0 // si name == null, entonces 0name?.let { println("El nombre es $it") } // se ejecuta solo si name != null


4. Corrutinas (kotlinx.coroutines)

Aunque las corrutinas son formalmente una biblioteca separada, se consideran parte del ecosistema de Kotlin. Permiten escribir código asíncrono de forma síncrona.



import kotlinx.coroutines.*

fun main() = runBlocking { launch { delay(1000L) println("¡Mundo!") } println("Hola,")}


Componentes principales:

  • launch — inicio de corrutina sin valor de retorno
  • async — inicio con retorno de Deferred
  • withContext — cambio de contexto (por ejemplo, al hilo de UI)
  • Canales (Channel) — para transferir datos entre corrutinas


5. Serialización (kotlinx.serialization)

Soporte integrado para JSON, Protobuf, CBOR y otros formatos mediante anotaciones.



import kotlinx.serialization.*import kotlinx.serialization.json.*

@Serializabledata class User(val name: String, val age: Int)

fun main() { val user = User("Alice", 30) val json = Json.encodeToString(user) println(json) // {"name":"Alice","age":30} val decoded = Json.decodeFromString<User>(json) println(decoded) // User(name=Alice, age=30)}


6. Flujos y secuencias

Para cálculos perezosos, use Sequence en lugar de List — esto ahorra memoria al trabajar con grandes cantidades de datos.



val seq = generateSequence(1) { it + 1 } // secuencia infinita    .take(10)    .filter { it % 2 == 0 }    .toList()println(seq) // [2, 4, 6, 8, 10]


Funciones de extensión

Recommendations