0Pricing
Android Academy · Aula

Mapas e conjuntos

Coleções de chave-valor e de valores únicos.

Mapas e conjuntos é uma aula grátis de Android Academy no CoddyKit. Esta é a aula 2 de 4. 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 4 aulas no total.

Mapas e conjuntos

Um mapa armazena pares de chave e valor: cada chave exclusiva aponta para um valor, como em um dicionário.

Um conjunto armazena itens exclusivos, sem duplicatas e sem ordem garantida.

Ambos são tipos de coleção além das listas, úteis quando você precisa fazer buscas ou garantir exclusividade.

Criando um mapa

Use mapOf() com pares key to value para criar um mapa somente leitura.

As chaves devem ser exclusivas. Aqui, associamos nomes de frutas a preços.

fun main() {
    val prices = mapOf("apple" to 3, "banana" to 2)
    println(prices)
    println("Size: ${prices.size}")
}

Consultando valores

Leia um valor usando colchetes e uma chave. Se a chave não existir, você obterá null.

Use o operador Elvis ?: para fornecer um valor padrão quando uma chave estiver ausente.

fun main() {
    val prices = mapOf("apple" to 3, "banana" to 2)
    println(prices["apple"])
    println(prices["cherry"] ?: "not found")
}

Percorrendo um mapa

Um laço for sobre um mapa fornece cada entrada. Você pode desestruturá-la em key e value.

Essa é a maneira usual de processar cada par.

fun main() {
    val ages = mapOf("Ada" to 36, "Bob" to 24)
    for ((name, age) in ages) {
        println("$name is $age")
    }
}

Mapas mutáveis

Use mutableMapOf() quando precisar adicionar ou alterar entradas.

Atribuir um valor a uma nova chave a insere; atribuir um valor a uma chave existente substitui seu valor.

fun main() {
    val stock = mutableMapOf("pens" to 5)
    stock["books"] = 10
    stock["pens"] = 8
    println(stock)
}

Removendo de um mapa

Chame remove() com uma chave para excluir essa entrada de um mapa mutável.

Use containsKey() para verificar se uma chave existe antes de depender dela.

fun main() {
    val m = mutableMapOf("a" to 1, "b" to 2)
    m.remove("a")
    println(m.containsKey("a"))
    println(m)
}

Chaves e valores

Todo mapa expõe as coleções keys e values.

Use-as quando você se importar apenas com um dos lados dos pares.

fun main() {
    val prices = mapOf("apple" to 3, "banana" to 2)
    println(prices.keys)
    println(prices.values)
}

Criando um conjunto

Use setOf() para criar um conjunto somente leitura. Os valores duplicados são removidos automaticamente.

Isso torna os conjuntos perfeitos para reunir itens exclusivos.

fun main() {
    val tags = setOf("kotlin", "android", "kotlin")
    println(tags)
    println("Size: ${tags.size}")
}

Verificações de associação

Os conjuntos são excelentes para verificações rápidas de associação. Use in ou contains() para testar se um valor está presente.

Verificar um conjunto normalmente é mais rápido do que percorrer uma lista.

fun main() {
    val allowed = setOf("admin", "editor")
    println("admin" in allowed)
    println(allowed.contains("guest"))
}

Conjuntos mutáveis e remoção de duplicatas

Use mutableSetOf() para criar um conjunto ao longo do tempo. Adicionar um valor que já existe não faz nada.

Um truque rápido: chame toSet() em uma lista para remover duplicatas.

fun main() {
    val nums = listOf(1, 2, 2, 3, 3, 3)
    val unique = nums.toSet()
    println(unique)
}

Map versus Set

Escolha um map quando precisar associar chaves a valores, como um nome de usuário a um perfil.

Escolha um set quando você só precisar saber se algo existe, sem permitir duplicatas.

Verificação rápida

Teste sua compreensão sobre mapas e conjuntos.

Recapitulação

Os mapas armazenam pares de chave e valor com mapOf() / mutableMapOf(); consulte pela chave e trate chaves ausentes com ?:.

Os conjuntos armazenam itens únicos com setOf() / mutableSetOf() e oferecem verificações rápidas de associação.

Perguntas Frequentes

A aula “Mapas e conjuntos” é grátis?

Sim — o texto completo de “Mapas e conjuntos” é 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 4 aulas no total.

O que vou aprender em “Mapas e conjuntos”?

Coleções de chave-valor e de valores únicos. 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 2 de 4.

Quanto tempo leva a aula “Mapas e conjuntos”?

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. Listas e listas mutáveis
  2. Mapas e conjuntos
  3. map, filter, forEach
  4. Lambdas e funções de ordem superior
← Voltar para Android Academy