Memfilter Nilai
Termasuk bagian Logika & Alur dalam perjalanan Kotlin di Coddy. Pelajaran 32 dari 63.
filter mempertahankan elemen yang predikat lambda-nya mengembalikan true. Urutannya tetap terjaga, dan hasilnya bisa berisi lebih sedikit elemen atau tidak ada elemen sama sekali. Merangkai filter sebelum map hanya mengubah nilai yang dipertahankan.
Di dalam main:
println(listOf(-2, 0, 3, 4).filter { it > 0 }.map { it * 2 })Hanya tiga dan empat yang memenuhi predikat; nilai-nilai tersebut kemudian dikalikan dua.
filter menentukan keanggotaan dengan predikat Boolean dan mempertahankan urutan elemen yang dipilih.
Tantangan
SedangLengkapi positiveValues dengan parameter values: List<Int>. Kembalikan hanya nilai yang benar-benar positif, dengan urutan input tetap sama. Gunakan filter.
Kecuali jika batas yang lebih ketat disebutkan di atas, koleksi berisi paling banyak 100 elemen pada setiap tingkat, dan argumen integer serta nilai dalam koleksi integer berada di antara -1000 dan 1000. Teks yang diberikan untuk diurai dapat mencakup representasi yang tidak valid atau di luar rentang seperti yang dijelaskan.
Kembalikan nilai bertipe List<Int>. Pertahankan kode input/output yang diberikan. Kode tersebut membaca argumen skalar satu per baris; sebuah list dimulai dengan jumlah elemennya, diikuti elemen-elemennya, dan sebuah map dimulai dengan jumlah entrinya, diikuti setiap key dan value. List bersarang mengulangi format jumlah-elemen untuk setiap baris. main yang diberikan mencetak nilai yang dikembalikan, lalu satu karakter baris baru. List menggunakan format standar Kotlin dengan tanda kurung siku; jangan cetak label tambahan.
Coba sendiri
fun positiveValues(values: List<Int>): List<Int> {
// Tulis solusimu di sini.
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))
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika & Alur
4Koleksi Bersarang
List Berisi ListMenelusuri BarisRingkasan BarisMeratakan List BertingkatRangkuman, Baris Tempat Duduk7Alur Pemrosesan Koleksi
Transformasi dengan MapMemfilter NilaiMenguji Aturan KoleksiMengakumulasi dengan FoldRangkuman: Total yang Disetujui2Map Bagian 2
Menelusuri Entri MapKunci dan NilaiMap FrekuensiMap BersarangRingkasan: Laporan Frekuensi5Proyek: Buku Kontak
Menyimpan KontakMencari KontakLatihan sendiri: Playground Kotlin