Advanced Collection Function

Kotlin Collection adalah salah satu struktur data yang banyak menyediakan fungsi untuk memudahkan kita dalam mengelola dan memanipulasi data. Sebelumnya kita sudah pernah membahas terkait seperti map(), sum(), sorted(), dan sebagainya(kilik disini), sekarang kita akan membahas tentang beberapa fungsi lainnya yang lebih advance.

Fold
Fold bisa dimanfaatkan ketika kita ingin melakukan modifikasi atau operasi terhadap element - element didalam collection tanpa harus melakukan iterasi untuk mendapatkan elementnya.
Fungsi fold() memerlukan 2 (dua) argumen yaitu nilai awal untuk perhitungan dan lambda expression yang nilai kembaliannya digunakan untuk menentukan nilai awal selanjutnya. Nah, di dalam lambda expression nya juga terdapat 2 (dua) argumen. Yaitu, argumen current yang merepresentasikan nilai awal dan argumen item merepresentasikan masing-masing item yang berada pada numbers. foldRight() akan melakukan proses iterasi dari indeks terakhir dan posisi dari argumen pada lambda expression nya pun berbeda, di mana argumen item berada pada posisi pertama dan argumen current berada pada posisi kedua

Drop
Drop digunakan untuk memangkas item atau elemen di dalam objek berdasarkan jumlah yang kita inginkan, kita dapat menggunakan fungsi gunakan drop() atau dropLast() berikut contohnya kode programnya:
Take
Fungsi take pada collection merupakan kebalikan dari fungsi drop dimana ini akan menyaring sesuai jumlah elemen yang di inginkan. Gunakanlah take() dan takeLast(), berikut contoh programnya :
Slice
Slice digunakan untuk menyaring element atau item dari objek koleksi dengan menggunakan Range sebagai penentu posisi pertama dan terakhirnya. Selanjutnya jika kita menginginkan penyaringan elemen yang lebih spesifik menggunakan kumpulan objek, berikut contoh kode programnya :
Untuk menyaring dengan slice dengan index yang di mulai dari 0 untuk pembacaan index di koleksinya, Untuk berhati -hati terhadap eror ArrayIndexOutOfBoundsException jika cakupannya melebihi ukuran koleksinya

Distinct
Distinct digunakan untuk menyaring item yang duplicat sehingga elemen koleksi menjasi unik, berikut contoh programmnya : Kita juga dapat membuata unni objek dalam data class, berikkut contoh programmnya :Distinctby() juga bisa digunakan untuk menampung hasil eksekusi dari kondisi yang diinginkan, coba perhatikan kode program berikut:
Perlu diperhatikan, fungsi distinct() tidak dapat digunakan pada object Map Collection

Chunked
Chunked digunakan untuk memecah nilai item objek koleksi berdasarkan argumen yang di inputkan, Jika kita ingin memecah nilai dengan modifikasi dapat dilihat contoh program dibawah ini :

No comments:

Post a Comment