0Pricing
Android Academy · Aula

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 resultado
  • find — 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 corresponder
  • all { condition } — true se todos os itens corresponderem
  • count { condition } — quantidade de itens correspondentes
  • sumOf { 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 / mutableMapOf
  • filter — seleciona itens correspondentes
  • map — transforma itens
  • sortedBy / 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

  1. Coleções do Kotlin
  2. Noções Básicas de RecyclerView
  3. Eventos de clique do RecyclerView
  4. SharedPreferences
  5. Preferências do DataStore
  6. Adaptadores e DiffUtil
← Voltar para Android Academy