Menu
Coddy logo textTech

Iterar entradas de mapas

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

Un bucle for puede desestructurar cada entrada del mapa en su clave y valor con for ((key, value) in map). Usa el valor para los totales y la clave para la identidad. No asumas que todas las implementaciones de mapas tienen un orden de iteración ordenado.

Dentro de main:

val stock = mapOf("a" to 3, "b" to 5)
var total = 0
for ((name, count) in stock) {
    total += count
}
println(total)

Las dos cantidades contribuyen con tres y cinco.

La desestructuración de una entrada proporciona primero su clave y después su valor.

challenge icon

Desafío

Intermedio

Completa stockTotal con los parámetros stock: Map<String, Int>. Usa la iteración de entradas para devolver la suma de todas las cantidades. Un mapa vacío suma cero.

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, como 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 stockTotal(stock: Map<String, Int>): Int {
    // Escribe tu solución aquí.
    return 0
}
fun main() {
    val stockCount = readln().toInt()
    val stock = mutableMapOf<String, Int>()
    for (i0 in 0 until stockCount) {
        val stockKey = readln()
        val stockValue = readln().toInt()
        stock[stockKey] = stockValue
    }
    println(stockTotal(stock))
}
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