Biblioteca Estándar de Kotlin: Revisión Completa
La biblioteca estándar de Kotlin (stdlib) es un potente conjunto de herramientas que viene junto con el compilador y proporciona funcionalidad básica para el desarrollo diario. A diferencia de Java, donde muchas operaciones requieren bibliotecas externas, Kotlin ofrece soluciones integradas para trabajar con colecciones, cadenas, corrutinas, serialización y entrada/salida de archivos. En este artículo, analizaremos en detalle los módulos y funciones clave de la biblioteca estándar de Kotlin con ejemplos prácticos.
1. Tipos Básicos y sus Capacidades
La biblioteca incluye funciones extendidas para tipos primitivos y cadenas:
- Tipos numéricos —
Int,Double,Longy sus extensiones (.toInt(),.coerceIn()). - Cadenas — plantillas (
"Hello, $name"), cadenas multilínea ("""..."""), métodosreplace(),split(),trimIndent(). - Rangos —
1..10,step 2,downTo.
// Ejemplo de trabajo con cadenas y rangosfun main() { val name = "Kotlin" val greeting = "Hello, $name!" println(greeting) // Hello, Kotlin!
for (i in 1..5 step 2) { println(i) // 1, 3, 5 }}2. Colecciones: List, Set, Map
Kotlin divide las colecciones en mutables (MutableList, MutableSet, MutableMap) e inmutables (List, Set, Map). Capacidades principales:
- Creación —
listOf(),setOf(),mapOf(). - Filtrado y transformación —
filter(),map(),flatMap(),groupBy(). - Agregación —
sum(),count(),reduce(),fold(). - Ordenamiento —
sorted(),sortedBy().
// Ejemplo de trabajo con coleccionesfun main() { val numbers = listOf(1, 2, 3, 4, 5) val evenSquares = numbers .filter { it % 2 == 0 } .map { it * it } println(evenSquares) // [4, 16]
val grouped = numbers.groupBy { if (it % 2 == 0) "even" else "odd" } println(grouped) // {odd=[1, 3, 5], even=[2, 4]}}3. Secuencias (Sequences)
Para cálculos perezosos, Kotlin ofrece Sequence. Esto es especialmente útil al trabajar con grandes volúmenes de datos:
fun main() { val result = (1..1_000_000) .asSequence() .filter { it % 2 == 0 } .map { it * 2 } .take(5) .toList() println(result) // [4, 8, 12, 16, 20]}4. Seguridad contra nulos y operador Elvis
Una de las características clave de Kotlin es el trabajo seguro con null. La biblioteca proporciona:
- Operador Elvis (
?:) — establece un valor por defecto. - Llamada segura (
?.) — previene NullPointerException. - Función let — ejecuta código solo si el objeto no es null.
fun main() { val name: String? = null val length = name?.length ?: 0 println(length) // 0
name?.let { println("Name is not null: $it") }}5. Trabajo con archivos y flujos
La biblioteca estándar incluye extensiones convenientes para java.io.File:
readText(),writeText()— lectura/escritura de cadenas.readLines()— lectura línea por línea.useLines()— trabajo seguro con flujos.copyTo(),
También en la biblioteca
ARKit para Swift: guía completa con ejemplos prácticos
Rate Limiting en Go (Golang): bibliotecas, patrones y ejemplos de implementación
Trabajo con CSV en JavaScript (Node.js): bibliotecas, análisis y generación de datos
mimalloc en C++: guía completa con ejemplos prácticos