Operasi pada koleksi filter, map, reduce
Kotlin adalah bahasa pemrograman yang modern dan statis yang dirancang untuk menggantikan Java di platform Android. Salah satu fitur yang kuat dari Kotlin adalah kemampuannya untuk melakukan operasi pada koleksi dengan cara yang intuitif dan efisien. Dalam tutorial ini, kita akan membahas tentang tiga operasi utama pada koleksi di Kotlin: filter, map, dan reduce.
1. Filter
Operasi filter
digunakan untuk menyaring elemen dari koleksi berdasarkan kondisi tertentu. Dalam konteks koleksi, filter
akan menghasilkan koleksi baru yang hanya berisi elemen yang memenuhi kriteria yang ditentukan.
Contoh Penggunaan Filter
fun main() {
val numbers = listOf(1, 2, 3, 4, 5, 6)
val evenNumbers = numbers.filter { it % 2 == 0 }
println(evenNumbers) // Output: [2, 4, 6]
}
Dalam contoh di atas, kita memiliki daftar angka dan kita menggunakan fungsi filter
untuk mendapatkan hanya angka genap.
2. Map
Operasi map
digunakan untuk mengubah setiap elemen dalam koleksi menjadi elemen baru. Ini berguna ketika kita ingin memproses atau mentransformasikan data.
Contoh Penggunaan Map
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
val squares = numbers.map { it * it }
println(squares) // Output: [1, 4, 9, 16, 25]
}
Dalam contoh ini, kita menggunakan fungsi map
untuk menghitung kuadrat dari setiap angka dalam daftar.
3. Reduce
Operasi reduce
digunakan untuk mengakumulasi semua elemen dalam koleksi menjadi satu nilai berdasarkan operasi yang diberikan. Ini biasanya digunakan untuk menghasilkan nilai agregat, seperti jumlah total atau produk.
Contoh Penggunaan Reduce
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
val sum = numbers.reduce { acc, number -> acc + number }
println(sum) // Output: 15
}
Dalam contoh ini, kita menggunakan fungsi reduce
untuk menjumlahkan semua angka dalam daftar.
Menggabungkan Operasi
Kita juga dapat menggabungkan operasi filter, map, dan reduce untuk melakukan pemrosesan yang lebih kompleks.
Contoh Penggabungan Operasi
fun main() {
val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val result = numbers
.filter { it % 2 == 0 }
.map { it * it }
.reduce { acc, number -> acc + number }
println(result) // Output: 220
}
Dalam contoh ini, kita menyaring angka genap, menghitung kuadrat dari angka genap tersebut, dan kemudian menjumlahkan semua kuadrat yang dihasilkan.
Kesimpulan
Dalam tutorial ini, kita telah membahas tentang operasi dasar pada koleksi di Kotlin: filter, map, dan reduce. Ketiga operasi ini memungkinkan kita untuk memanipulasi dan memproses data dengan cara yang sangat efisien dan mudah dibaca. Dengan memahami operasi ini, Anda akan dapat bekerja dengan koleksi di Kotlin secara lebih efektif.