Menu
Coddy logo textTech

Iterare sulle voci delle mappe

Fa parte della sezione Logica e flusso del percorso Kotlin di Coddy. Lezione 6 di 63.

Un ciclo for può destrutturare ogni voce della mappa nelle sue chiave e valore con for ((key, value) in map). Usa il valore per i totali e la chiave per l'identità. Non dare per scontato che ogni implementazione di mappa abbia un ordine di iterazione ordinato.

All'interno di main:

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

Le due quantità contribuiscono con tre e cinque.

La destrutturazione di una voce fornisce prima la chiave e poi il valore.

challenge icon

Sfida

Medio

Completa stockTotal con i parametri stock: Map<String, Int>. Usa l’iterazione sulle voci per restituire la somma di tutte le quantità. Una mappa vuota ha totale zero.

Salvo limiti più restrittivi indicati sopra, le raccolte contengono al massimo 100 elementi a ogni livello, e gli argomenti interi e i valori interi delle raccolte sono compresi tra -1000 e 1000. Il testo fornito per l’analisi può includere rappresentazioni non valide o fuori intervallo, come descritto.

Restituisci un valore di tipo Int. Mantieni il codice di input/output fornito. Legge gli argomenti scalari uno per riga; una lista inizia con il numero di elementi seguito dai suoi elementi, e una mappa inizia con il numero di voci seguito da ciascuna chiave e valore. Le liste annidate ripetono il formato numero di elementi ed elementi per ogni riga. Il main fornito stampa il valore restituito seguito da un carattere di nuova riga. Le liste usano il formato standard di Kotlin con parentesi quadre; non stampare etichette aggiuntive.

Provalo tu

fun stockTotal(stock: Map<String, Int>): Int {
    // Scrivi qui la tua soluzione.
    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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Playground Kotlin