Menu
Coddy logo textTech

Mapas anidados

Parte de la sección Lógica y flujo del Journey de Kotlin de Coddy. Lección 9 de 63.

Un valor de mapa puede ser, a su vez, un mapa. Cada búsqueda puede no encontrar un valor, así que combina una llamada segura con un valor alternativo final. Las actualizaciones mutables require mutabilidad en el nivel que se está modificando.

Dentro de main:

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

Ada existe, pero la clave interna art no existe, así que se utiliza el valor alternativo.

Usa un acceso seguro en cada nivel del mapa que pueda estar ausente.

challenge icon

Desafío

Intermedio

Completa nestedScore con los parámetros name: String, subject: String. Usa los registros fijos Ada: math 9, art 7; Bo: math 6. Devuelve la puntuación solicitada o -1 cuando falte el nombre o la asignatura.

A menos que se indiquen límites más estrictos arriba, las colecciones contienen como máximo 100 elementos en cada nivel, y los argumentos enteros y los valores enteros de las colecciones están entre -1000 y 1000. El texto proporcionado para el análisis puede incluir representaciones no válidas o fuera de rango, según se describe.

Devuelve un valor de tipo Int. Conserva el código de entrada/salida proporcionado. Lee los argumentos escalares, uno por línea; una lista comienza con su cantidad seguida de sus elementos, y un mapa comienza con su cantidad de entradas seguida de cada clave y valor. Las listas anidadas repiten el formato de cantidad y elementos para cada fila. El main proporcionado imprime el valor devuelto seguido de un salto de línea. Las listas usan el formato estándar entre corchetes de Kotlin; no imprimas etiquetas adicionales.

Pruébalo tú mismo

fun nestedScore(name: String, subject: String): Int {
    // Escribe tu solución aquí.
    return 0
}
fun main() {
    val name = readLine().orEmpty()
    val subject = readLine().orEmpty()
    println(nestedScore(name, subject))
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y flujo

Practica por tu cuenta: Playground de Kotlin