Menu
Coddy logo textTech

Mapas aninhados

Parte da seção Lógica e Fluxo do Journey de Kotlin da Coddy. Lição 9 de 63.

Um valor de mapa pode ser, por si só, um mapa. Cada consulta pode não encontrar um valor, então combine uma chamada segura com um fallback final. As atualizações mutáveis require mutabilidade no nível que está sendo alterado.

Dentro de main:

val school = mapOf("Ada" to mapOf("math" to 9))
println(school["Ada"]?.get("art") ?: -1)

Ada existe, mas a chave interna art não existe, então o valor alternativo é usado.

Use acesso seguro em cada nível do mapa que possa estar ausente.

challenge icon

Desafio

Médio

Complete nestedScore com os parâmetros name: String, subject: String. Use os registros fixos Ada: math 9, art 7; Bo: math 6. Retorne a pontuação solicitada ou -1 quando o nome ou a disciplina estiver ausente.

A menos que limites mais rigorosos sejam especificados acima, as coleções contêm no máximo 100 elementos em cada nível, e os argumentos inteiros e os valores inteiros das coleções estão entre -1000 e 1000. O texto fornecido para análise pode incluir representações inválidas ou fora do intervalo, conforme descrito.

Retorne um valor do tipo Int. Mantenha o código de entrada/saída fornecido. Ele lê argumentos escalares, um por linha; uma lista começa com sua quantidade, seguida por seus elementos, e um mapa começa com sua quantidade de entradas, seguida por cada chave e valor. Listas aninhadas repetem o formato de quantidade e elementos para cada linha. O main fornecido imprime o valor retornado seguido por uma nova linha. As listas usam o formato padrão entre colchetes do Kotlin; não imprima rótulos adicionais.

Experimente você mesmo

fun nestedScore(name: String, subject: String): Int {
    // Escreva sua solução aqui.
    return 0
}
fun main() {
    val name = readLine().orEmpty()
    val subject = readLine().orEmpty()
    println(nestedScore(name, subject))
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo

Pratique por conta própria: Playground de Kotlin