Filtrare i valori
Fa parte della sezione Logica e flusso del percorso Kotlin di Coddy. Lezione 32 di 63.
filter mantiene gli elementi per cui una lambda predicato restituisce true. Ne preserva l’ordine e può restituire meno elementi o nessuno. Concatenare filter prima di map modifica solo i valori mantenuti.
All'interno di main:
println(listOf(-2, 0, 3, 4).filter { it > 0 }.map { it * 2 })Solo tre e quattro superano il predicato; quei valori vengono poi raddoppiati.
filter decide l'appartenenza con un predicato Boolean e mantiene l'ordine degli elementi conservati.
Sfida
MedioCompleta positiveValues con il parametro values: List<Int>. Restituisci solo i valori strettamente positivi, mantenendo l'ordine di input. Usa filter.
A meno che sopra non siano specificati limiti più restrittivi, le collezioni contengono al massimo 100 elementi a ogni livello e gli argomenti interi e i valori interi delle collezioni 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 ciascuna chiave e dal relativo valore. Le liste annidate ripetono il formato conteggio-e-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 positiveValues(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(positiveValues(values))
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Mappe Parte 1
Creare mappeConsultare le mappe in modo sicuroAggiornare le mappeControllare le chiaviRiepilogo - Banco di borsa4Collezioni annidate
Liste di listeAttraversare le righeRiepiloghi delle righeAppiattire liste annidateRipasso - File di posti a sedere7Pipeline di collezioni
Trasformare con MapFiltrare i valoriVerificare le regole della collezioneAccumulare con FoldRiepilogo - Totali approvati2Mappe Parte 2
Iterare sulle voci delle mappeChiavi e valoriMappe di frequenzaMappe annidateRiepilogo - Report delle frequenze5Progetto - Rubrica
Salva contattiTrova contatti3Insiemi e appartenenza
Creare insiemiAggiornare gli insiemiOperazioni sugli insiemiVerificare i sottoinsiemiRiepilogo - Ospiti dell'evento6Valori delle funzioni
Scrivere funzioni lambdaTipi di funzionePassare funzioniVariabili catturateRiepilogo - Punteggio configurabileEsercitati da solo: Playground Kotlin