Coleções do Kotlin
Trabalhe com List, Set e Map. Use operadores funcionais, como filter, map, sortedBy, forEach, find, any e all, e encadeie operações para transformações concisas de dados.
Coleções do Kotlin é uma aula grátis de Android Academy no CoddyKit. Esta é a aula 1 de 6. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Android Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Android Academy inclui 6 aulas no total.
Visão geral das coleções
A biblioteca padrão do Kotlin fornece três tipos principais de coleções:
- List — sequência ordenada de elementos (pode conter duplicatas)
- Set — elementos únicos, sem uma ordem específica
- Map — pares de chave e valor; as chaves são únicas
Cada tipo tem uma versão imutável (somente leitura) e uma versão mutável (pode ser modificada).
Listas: listOf vs mutableListOf
Crie listas usando funções 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 de chave e valor
Use mapOf e mutableMapOf para criar mapas. Acesse os valores pela chave:
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 — selecionar itens
filter retorna uma nova lista contendo apenas os elementos que correspondem a uma condição:
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 itens
map transforma cada elemento e retorna uma nova lista:
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 e sortedByDescending
Ordene uma lista por uma propriedade:
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 e find
Duas outras funções úteis para coleções:
forEach— itera sem criar um resultadofind— retorna o primeiro item que corresponde a uma condição ou null
Encadeando operações
Encadeie várias operações para transformar dados 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, count
Funções de agregação para obter respostas rapidamente:
any { condition }— true se pelo menos um item corresponderall { condition }— true se todos os itens corresponderemcount { condition }— quantidade de itens correspondentessumOf { it.price }— soma de uma propriedade numérica
Verificação rápida
Qual função você usaria para obter apenas os itens de uma lista que satisfazem uma condição?
Recapitulação: coleções do Kotlin
Agora você pode trabalhar com dados no Kotlin de forma eficiente:
listOf/mutableListOf,mapOf/mutableMapOffilter— seleciona itens correspondentesmap— transforma itenssortedBy/sortedByDescending- Encadeie operações para criar pipelines de dados limpos e legíveis
A seguir: exiba listas na tela com RecyclerView.
Perguntas Frequentes
A aula “Coleções do Kotlin” é grátis?
Sim — o texto completo de “Coleções do Kotlin” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Android Academy, atualize para CoddyKit PRO. O curso de Android Academy inclui 6 aulas no total.
O que vou aprender em “Coleções do Kotlin”?
Trabalhe com List, Set e Map. Use operadores funcionais, como filter, map, sortedBy, forEach, find, any e all, e encadeie operações para transformações concisas de dados. Você pratica Android Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Android Academy?
Nenhuma experiência prévia é necessária. Android Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 6.
Quanto tempo leva a aula “Coleções do Kotlin”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Android Academy?
Sim. Cada aula de Android Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Coleções do Kotlin
- Noções Básicas de RecyclerView
- Eventos de clique do RecyclerView
- SharedPreferences
- Preferências do DataStore
- Adaptadores e DiffUtil