map, filter, forEach
Ubah koleksi dengan lambda.
map, filter, forEach adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 4 pelajaran total.
Operasi Koleksi
Koleksi Kotlin dilengkapi operasi bawaan yang canggih. Tiga operasi yang akan sering Anda gunakan adalah map, filter, dan forEach.
Operasi tersebut memungkinkan Anda mengubah, memilih, dan melakukan iterasi pada data dalam satu baris yang jelas, tanpa perlu menulis perulangan secara manual.
map Mengubah Setiap Item
map membuat list baru dengan menerapkan transformasi pada setiap item.
Di dalam lambda, it merujuk pada item saat ini. List asli tidak berubah.
fun main() {
val nums = listOf(1, 2, 3)
val doubled = nums.map { it * 2 }
println(doubled)
}map Dapat Mengubah Tipe
Hasil dari map tidak harus memiliki tipe yang sama dengan input.
Di sini kita mengubah list nama menjadi list panjang masing-masing nama.
fun main() {
val names = listOf("Ada", "Linus")
val lengths = names.map { it.length }
println(lengths)
}filter Mempertahankan Kecocokan
filter mengembalikan list baru yang hanya berisi item yang lambdanya mengembalikan true.
Di sini kita hanya mempertahankan bilangan genap.
fun main() {
val nums = listOf(1, 2, 3, 4, 5, 6)
val evens = nums.filter { it % 2 == 0 }
println(evens)
}filter pada String
Kondisinya dapat berupa apa saja yang mengembalikan Boolean. Di sini kita hanya mempertahankan kata-kata yang panjang.
Item yang tidak memenuhi pengujian cukup dikeluarkan dari hasil.
fun main() {
val words = listOf("hi", "hello", "hey", "howdy")
val long = words.filter { it.length > 3 }
println(long)
}forEach Menjalankan Aksi
forEach menjalankan blok kode untuk setiap item, tetapi tidak membuat list baru.
Gunakan ini untuk efek samping seperti mencetak atau mencatat.
fun main() {
val fruits = listOf("apple", "banana")
fruits.forEach { println("Fruit: $it") }
}map vs forEach
map mengembalikan list yang telah diubah, jadi gunakan saat Anda memerlukan hasil.
forEach tidak mengembalikan sesuatu yang berguna, jadi gunakan hanya untuk menjalankan aksi. Memilih operasi yang tepat membuat kode tetap jelas.
Merangkai Operasi
Operasi ini mengembalikan koleksi, sehingga Anda dapat merangkainya.
Baca dari kiri ke kanan: pertama filter, lalu gunakan map pada item yang tersisa.
fun main() {
val nums = listOf(1, 2, 3, 4, 5, 6)
val result = nums.filter { it % 2 == 0 }.map { it * 10 }
println(result)
}Memberi Nama Parameter
Alih-alih menggunakan it, Anda dapat memberi nama pada parameter lambda agar lebih jelas, terutama saat merangkai operasi.
Gunakan tanda panah: { name -> ... }.
fun main() {
val prices = listOf(10, 25, 5)
val withTax = prices.map { price -> price + price / 10 }
println(withTax)
}forEachIndexed
Saat Anda juga memerlukan posisi, gunakan forEachIndexed. Operasi ini meneruskan indeks dan item.
Dengan begitu, Anda tidak perlu melacak penghitung secara manual.
fun main() {
val tasks = listOf("eat", "code", "rest")
tasks.forEachIndexed { i, task ->
println("$i: $task")
}
}Menggabungkan Operasi untuk Pekerjaan Nyata
Bersama-sama, operasi ini menyatakan alur data dengan sederhana. Di sini kita mencari total panjang nama-nama yang panjang.
Kode ini hampir terbaca seperti bahasa sehari-hari.
fun main() {
val names = listOf("Ada", "Grace", "Bo")
val total = names.filter { it.length > 2 }.map { it.length }.sum()
println(total)
}Pemeriksaan Cepat
Uji pemahaman Anda tentang operasi koleksi.
Ringkasan
map mengubah setiap item menjadi list baru, filter mempertahankan item yang sesuai dengan kondisi, dan forEach menjalankan aksi untuk setiap item.
Operasi tersebut mengembalikan koleksi, jadi rangkailah untuk membangun alur data yang mudah dibaca.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “map, filter, forEach” gratis?
Ya — teks lengkap “map, filter, forEach” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “map, filter, forEach”?
Ubah koleksi dengan lambda. Kamu berlatih Android Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Android Academy?
Tidak diperlukan pengalaman sebelumnya. Android Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “map, filter, forEach” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Android Academy ini?
Ya. Setiap pelajaran Android Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Daftar dan Daftar yang Dapat Diubah
- Pemetaan dan Set
- map, filter, forEach
- Lambda dan Fungsi Tingkat Tinggi