Menu
Coddy logo textTech

Chiavi e valori

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

keys fornisce le chiavi distinte e values fornisce i valori, che possono ripetersi. Converti o ordina le chiavi quando è necessario un ordine stabile per il report. Qui, le chiavi stringa ordinate usano l'ordinamento che distingue tra maiuscole e minuscole insegnato per gli elenchi.

All'interno di main:

val scores = mapOf("Bo" to 7, "Ada" to 7)
println(scores.keys.sorted())

L'ordinamento delle chiavi mette Ada prima di Bo, indipendentemente dall'ordine di inserimento.

Ordina le chiavi in modo esplicito quando hai bisogno di un output alfabetico prevedibile.

challenge icon

Sfida

Medio

Completa sortedNames con il parametro stock: Map<String, Int>. Restituisci le chiavi della mappa come elenco ordinato. Tutte le chiavi sono parole ASCII minuscole.

A meno che sopra non siano specificati limiti più restrittivi, 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 List<String>. Mantieni il codice di input/output fornito. Legge gli argomenti scalari, uno per riga; un elenco inizia con il suo conteggio, seguito dai suoi elementi, e una mappa inizia con il conteggio delle voci, seguito da ciascuna chiave e dal relativo valore. Gli elenchi annidati ripetono il formato conteggio-elementi per ogni riga. Il main fornito stampa il valore restituito seguito da un carattere di nuova riga. Gli elenchi usano il formato standard di Kotlin tra parentesi quadre; non stampare etichette aggiuntive.

Provalo tu

fun sortedNames(stock: Map<String, Int>): List<String> {
    // Scrivi qui la tua soluzione.
    return emptyList()
}
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(sortedNames(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