Halo kali ini saya mau membahas tentang element collection di Java tapi sebelum itu kita harus tau dulu apa sih element collection atau Framework collection.
Framework Collection is unified architecture for representing and manipulating collections, enabling collections to be manipulated independently of implementation details.
Jadi intinya framework collection adalah sama seperti array namun kita dapat dengan mudah melakukan manipulasi element atau value (dependencies) dari sebuah collection tersebut contohnya menambahkan, hapus, merubah dan lain-lain. contohnya kija jaman dahulu, kita balik lagi jaman purba menggunakan Array kita melakukan deklarasi variable dengan tipe array yang dimensi nya talah kita sebutkan seperti berikut:
String[10] arg = {"Dimas", "Hanif"};Jika kita nambahkan objek ke 12, apa yang terjadi? the answer is IndexOutOfBoundException artinya indexnya tidak cukup. kemudian klo kita mau merubah objek pada element tertentu ini kita harus menuliskan indexnya juga seperti berikut:
// merubah value Hanif menjadi Riansyah
arg[1] = "Riansyah"dan masih banyak lagi…
Nah maka dari itu para profesor Java membuat framework yang mereka sebut Collection. Framework collection ini jaman sekarang sudah sangat pintar karena tidak hanya untuk tipe data default Java saja (String, Integer, Boolean dan lain-lain) tetapi untuk Class, Interface dan lain-lain juga bisa yaitu dengan menggunakan fitur Java Generics tpi by the way disini saya tidak akan membahas lebih lanjut tentang Generics, silahkan baca artikel ini
Macam-macam framework collections
Sebenarnya framework collection ini ada lumayan banyak tapi basicnya ada 3 yaitu
- List
- Set
- Map
kelas-kelas tersebut adalah sebuah interface yang biasanya diimplemtasi menggunakan klo List biasanya java.util.ArrayList klo Set biasanya java.util.HashSet dan sedangkan Map adalah java.util.HashMap.
Collection List
List pada dasarnya ini sama seperti array biasa karena memiliki key yang bersifat index {0, 1, 2, 3 dst} ingat index di Java berawal dari angka 0. Penggunaan sederhanya kurang lebih seperti berikut:
Jika dijalnkan maka outputnya seperti berikut:
Email pertama: software.dimmaryanto@hotmail.com
Email setelah diset: dimmaryanto@gmail.com
Jumlah email: 0Dan berikut adalah penjelasnnya berdasarkan koding atas:
- Baris ke 4: Membuat variable dengan tipe data
java.util.Listkemudian saya menggunakan generics dengan tipe datajava.lang.Stringyang tidak lain adalahString, jadi kesimpulanya variabledaftarEmailshanya bisa diisi dengan valueString. Kalo di array sama seperti kita membuat seperti iniString[] daftarEmails = {}; - Baris ke 6: Menambahkan value ke variable
daftarEmailsdengan memanggil fungsiadd(value) - Baris ke 7: Kita menampilkan element ke
0yang tidak lain hasilnya adalahsoftware.dimmaryanto@hotmail.com - Baris ke 9: Saya mau merubah value pada element ke
0, artinya nilaisoftware.dimmaryanto@hotmail.comakan di replace dengandimmaryanto@gmail.com - Baris ke 10: Kita menampilkan element ke
0yaitudimmaryanto@gmail.combukan lagisoftware.dimmaryanto@hotmail.comkarena pada baris ke 9 kita telah merubah nilainya dengan memanggil fungsiset(index, nilai_baru). - Baris ke 12: Saya menghapus element ke 0, jadi setelah dieksekusi kita hanya memiliki sebuah array kosong.
- Baris ke 13: Menampilkan jumlah email : 0, karena kita tadi pada baris ke 10 telah menghapus element satu-satunya pada variabel
daftarEmails.
Setelah List kita masuk ke pembahasan selanjutnya yaitu Set.
Collection Set
Sama halnya seperti List tapi Set ini valuenya tidak boleh ada yang sama, klo ada yang sama maka value yang terakhir akan di upadate menjadi yang baru tapi tetap key menggunakan index. berikut kurang lebih kasusnya:
Setelah itu coba anda jalankan, maka berikut outputnya:
Jumlah email setelah add ke 1: 1
Jumlah email setelah add ke 2: 1
Jumlah email setelah add ke 3: 1Dan berikut adalah pembahasannya:
- Baris ke 4: Membuat variable dengan tipe data
java.util.Setmenggunakan generics dengan tipe dataString. - Baris ke 6, 9, 12: Menambahkan element ke variable
daftarEmailsdengan value yang sama yaitusoftware.dimmaryanto@hotmail.com. - Baris ke 7, 10, 13: Menampilkan jumlah element setelah memanggil fungsi
add(value), ini akan menghasilkan angka1kenapa1? padahal saya menambahkannya sebangak3x. seperti pembahasan diatas klo menggunakan objekSetmaka nilai yang sama tidak akan ditambahkan kembali atau bahasa kerennya tidak ada value yang duplikat atau ganda.
Ok, sampai sini anda telah mempelajari 2 element collections yaitu List dan Set. Sekarang kita lanjutkan ke element selajutnya yaitu Map.
Collection Map
The last one, kalo Map ini berbeda dengan 2 hal tadi. tetapi intinya tetap sama yaitu dapat menyimpan data lebih dari satu. jadi beda bagaimana?
Map ini dia keynya bisa ditentukan oleh kita, magsudnya bebas gitu? yap tapi dalam tipe data yang sama contohnya String jadi keynya boleh angka, huruf dan lain-lain, klo Integer berati harus integer juga dst. jadi kalo saya gambarkan ke tabel kurang lebih kayak gini:
| key | value |
|---|---|
| “001” | “Product 001” |
| “P102” | “Product 002” |
| “-123” | “Product 002” |
nah itukan bayanganya berikut ini implementasinya:
Sekarang coba anda jalankan, maka hasilnya akan seperti berikut:
Nilai 001 adalah Product 001Dan berikut adalah penjelasannya:
- Baris ke 4: Membuat variable dengan tipe data
java.util.Mapdan menggunakan generics dengan 2 parameters yaitu keduanya bernilaiStringmagsudnya adalah param pertama menamdakan key dan param kedua adalah valuenya, jadi kesimpulanya adalah key dan valuenya bernilaiString - Baris ke 6: Nambahkan element dengan key
001dan valuenyaProduct 001 - Baris ke 8: kurang lebih sama seperti beris ke 6
- Baris ke 10: Menampilkan element dengan key
001maka hasilnya adalahProduct 001.
Ok, mungkin sekian dulu postingan tentang element collection. see you next post!.