Biblioteca Padrão Kotlin: visão geral completa e exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Biblioteca Padrão Kotlin: visão geral completa



A Biblioteca Padrão Kotlin (stdlib) é um conjunto poderoso de ferramentas, embutido diretamente na linguagem. Ela fornece tudo o que é necessário para o desenvolvimento diário: desde o trabalho com coleções e strings até corrotinas e serialização. Ao contrário do Java, o Kotlin elimina o código boilerplate, oferecendo uma sintaxe concisa e expressiva. Nesta visão geral, analisaremos os principais módulos da stdlib com exemplos práticos.



1. Trabalhando com coleções

A biblioteca oferece coleções imutáveis (List, Set, Map) e mutáveis (MutableList, MutableSet, MutableMap) com um rico conjunto de funções de ordem 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


Funções-chave:

  • map, filter, flatMap — transformação e filtragem
  • groupBy, partition — agrupamento de elementos
  • zip, unzip — combinação de coleções
  • chunked, windowed — divisão em partes


2. Strings e expressões regulares

Kotlin estende String com métodos ausentes no Java: remoção de prefixos/sufixos, verificação de nulidade, templates.



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

// Strings multilinha com trimIndentval json = """ { "name": "Kotlin", "year": 2016 }""".trimIndent()


3. Segurança contra nulos e operador elvis

Um dos principais recursos do Kotlin é a proteção embutida contra NPE. A biblioteca padrão fornece funções de chamada segura (?.let) e o operador elvis (?:).



val name: String? = getUserName()val length = name?.length ?: 0 // se name == null, então 0name?.let { println("Nome é $it") } // executado apenas se name != null


4. Corrotinas (kotlinx.coroutines)

Embora as corrotinas sejam formalmente uma biblioteca separada, elas são consideradas parte do ecossistema Kotlin. Permitem escrever código assíncrono de forma síncrona.



import kotlinx.coroutines.*

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


Componentes principais:

  • launch — inicia uma corrotina sem retornar valor
  • async — inicia com retorno de Deferred
  • withContext — alterna o contexto (ex.: para a thread da UI)
  • Canais (Channel) — para transferir dados entre corrotinas


5. Serialização (kotlinx.serialization)

Suporte embutido para JSON, Protobuf, CBOR e outros formatos através de anotações.



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. Fluxos e sequências

Para cálculos preguiçosos, use Sequence em vez de List — isso economiza memória ao trabalhar com grandes volumes de dados.



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


Funções de extensão

Recommendations