Menu
Coddy logo textTech

Mappe annidate

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

Un valore di mappa può essere a sua volta una mappa. Ogni ricerca potrebbe non trovare alcun valore, quindi combina una chiamata sicura con un valore di ripiego finale. Gli aggiornamenti mutabili require la mutabilità al livello che viene modificato.

All'interno di main:

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

Ada esiste, ma la chiave interna art non esiste, quindi viene usato il valore di ripiego.

Usa l’accesso sicuro a ogni livello della mappa che potrebbe essere assente.

challenge icon

Sfida

Medio

Completa nestedScore con i parametri name: String, subject: String. Usa i record fissi Ada: math 9, art 7; Bo: math 6. Restituisci il punteggio richiesto oppure -1 se il nome o la materia non è presente.

Salvo indicazioni di limiti più restrittivi riportate 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 dagli elementi, mentre una mappa inizia con il conteggio delle sue voci seguito da ciascuna chiave e valore. Le liste annidate ripetono il formato conteggio 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 tra parentesi quadre di Kotlin; non stampare etichette aggiuntive.

Provalo tu

fun nestedScore(name: String, subject: String): Int {
    // Scrivi qui la tua soluzione.
    return 0
}
fun main() {
    val name = readLine().orEmpty()
    val subject = readLine().orEmpty()
    println(nestedScore(name, subject))
}
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