Menu
Coddy logo textTech

Trasformare con Map

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

L’operazione sulle collezioni map applica una lambda a ogni elemento e restituisce una nuova lista di risultati nello stesso ordine. Questa operazione è diversa dal tipo di collezione Map: trasforma i valori e non crea voci chiave-valore, a meno che la tua lambda non restituisca coppie.

Dentro main:

val lengths = listOf("sun", "rain").map { it.length }
println(lengths)

Ogni parola diventa la propria lunghezza, mentre l'ordine e il numero di elementi restano invariati.

map restituisce un risultato trasformato per ogni elemento di input, mantenendo l'ordine.

challenge icon

Sfida

Medio

Completa squares con i parametri values: List<Int>. Restituisci il quadrato di ogni valore nell’ordine di input. I valori sono compresi tra -1000 e 1000. Usa map.

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 List<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, e una mappa inizia con il conteggio delle sue voci, seguito da ogni 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 di Kotlin tra parentesi quadre; non stampare etichette aggiuntive.

Provalo tu

fun squares(values: List<Int>): List<Int> {
    // Scrivi qui la tua soluzione.
    return emptyList()
}
fun main() {
    val valuesCount = readln().toInt()
    val values = mutableListOf<Int>()
    for (i0 in 0 until valuesCount) {
        val valuesItem = readln().toInt()
        values.add(valuesItem)
    }
    println(squares(values))
}
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