Menu
Coddy logo textTech

Aggiornare le mappe

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

mutableMapOf consente di aggiungere e sostituire elementi con l'assegnazione tramite parentesi quadre. remove(key) elimina un elemento, se presente. Un val può fare riferimento a una mappa mutabile: il riferimento rimane fisso mentre i suoi contenuti cambiano.

Dentro di main:

val counts = mutableMapOf("a" to 2)
counts["a"] = 5
counts["b"] = 3
println(counts.size)

Aggiornare a ne modifica il valore; aggiungere b introduce la seconda chiave.

L'assegnazione con parentesi quadre inserisce una chiave mancante o sostituisce il valore di una chiave esistente.

challenge icon

Sfida

Medio

Completa updatedStock con i parametri stock: Map<String, Int>, key: String, amount: Int. Copia stock in una mappa mutabile, imposta la chiave richiesta su amount e restituisci il nuovo numero di chiavi.

A meno che non siano indicati limiti più restrittivi 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 suo conteggio seguito dai suoi elementi, mentre una mappa inizia con il conteggio delle sue voci seguito da ogni chiave e valore. Le liste annidate ripetono il formato conteggio-elementi per ogni riga. Il main fornito stampa il valore restituito seguito da un carattere di nuova riga. Le liste usano il formato standard tra parentesi quadre di Kotlin; non stampare etichette aggiuntive.

Provalo tu

fun updatedStock(stock: Map<String, Int>, key: String, amount: 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
    }
    val key = readLine().orEmpty()
    val amount = readln().toInt()
    println(updatedStock(stock, key, amount))
}
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