Setiap kali saya
membuat aplikasi pada bahasa pemrograman JAVA pasti tidak terlepas dengan class
Collection terutama ArrayList dan HashMap, karena ArrayList dan Hashmap adalah
class Collection yang paling umum dipakai pada bahasa pemrograman JAVA. Untuk itu mari
kita pahami dan belajar tentang penggunaan
ke-dua class Collection tersebut disini. Di sini kita akan belajar bagaimana menggunakan ArrayList dan HashMap serta memahami perbedaan antara ArrayList dan HashMap.
Apa itu ArrayList ?
ArrayList adalah
sebuah class pada java yang digunakan untuk menyimpan koleksi data (objek)
dengan tipe index Integer / angka. Atau dengan identitas suatu data / objek
yang disimpan dalam class tersebut adalah urutan angka dengan tipe data Integer
(positif).
Apa itu HashMap ?
Pada dasarnya HashMap
hampir sama dengan ArrayList, yaitu suatu class untuk menyimpan data (objek)
namun index atau ordinat (biasanya disebut key) nya bertipe objek juga (string,
class, numeric, dsb) yang di hash. Sehingga secara fungsi dan penggunaan
HashMap lebih komplek dari pada ArrayList yang notabene lebih mirip dengan data
tipe Array biasa.
Kapan ArrayList digunakan ?
Biasanya
ArrayList digunakan untuk menyimpan list atau daftar objek yang tidak mempunyai
index atau kata kunci yang sepesifik. ArrayList sering kali digunakan untuk
menyimpan objek yang lebih bersifat antrian dengan pengambilan secara urut
bukan acak. Sehingga pengambilan data pada list tidak berdasarkan suatu kata
kunci (key) tertentu melainkan nomor antrian di list. Misalnya anda memiliki
suatu class untuk menyimpan daftar pesan, dimana pesan yang masuk akan diproses
berdasarkan urutanya sehingga untuk menampung data pesan yang masuk dari jalur
input anda bisa menggunakan class ArrayList lalu mengeluarkan dari ArrayList
secara berurutan untuk memproses output (pengiriman pesan) nya.
Kapan HashMap digunakan ?
Biasanya HashMap
digunakan untuk koleksi data yang lebih kompleks dengan key berupa objek
(biasanya string) misalnya anda ingin menampung daftar nomor telephon, dimana
nomor telepon tersebut mempunya nama pemilik terlepon yang tentu saja adalah
suatu data dengan tipe String. Untuk kasus koleksi data ini anda bisa
menggunakan class HashMap untuk penyimpanan data tersebut dengan key “Nama
Pemilik” dari nomor telepon tersebut, sehingga untuk mencari atau melakukan
pengecekan nomor telepon bisa dilakukan berdasarkan index/ordinat/key dari “Nama
Pemilik” nomor telepon tersebut.
Contoh Penggunaan ArrayList pada kode:
private static ArrayList<String> lstPesan = new ArrayList<>();
public static void main(String[] args) {
lstPesan.add("Bang transfer uang donk ke rek eneng");
lstPesan.add("Bang bikinin neng skripsi donk, bonus nikah ama eneng");
lstPesan.add("Neng nonton kebakaran yu di kampung sebelah");
String pesan1 = lstPesan.get(0);
String pesan2 = lstPesan.get(1);
String pesan3 = lstPesan.get(2);
System.out.println(pesan1);
System.out.println(pesan2);
System.out.println(pesan3);
}
Output:
Bang transfer uang donk ke rek eneng
Bang transfer uang donk ke rek eneng
Bang bikinin neng
skripsi donk, bonus nikah ama eneng
Neng nonton
kebakaran yu di kampung sebelah
Contoh Penggunaan HashMap pada kode:
private static HashMap<String, String> mapKontak = new HashMap<>();
public static void main(String[] args) {
mapKontak.put("Ikhsan", "+62123123456");
mapKontak.put("Ikhson", "+62123123444");
mapKontak.put("Ikhsun", "+62123123455");
String no1 = mapKontak.get("Ikhsan");
String no2 = mapKontak.get("Ikhson");String no3 = mapKontak.get("Ikhsun");System.out.println(no1);System.out.println(no2);System.out.println(no3);}
Output:
+62123123456
+62123123456
+62123123444
+62123123455
Fungsi-fungsi penting lain pada ArrayList dan HashMap
1. Membuang Data
--- ArrayList
lstPesan.remove(0); //. membuang index pertama pada lstPesan
lstPesan.remove("Bang transfer uang
donk ke rek eneng"); //. membuang data tsb pada lstPesan
--- HashMap
mapKontak.remove("Ikhsan"); //. membuang data dengan key Ikhsan pada mapKontak
2. Mendapatkan Jumlah Data / Element
--- ArrayList
lstPesan.size(); //. banyaknya element pada lstPesan
--- HashMap
mapKontak.size(); //. banyaknya element pada mapKontak
3. Membersihkan Data
--- ArrayList
lstPesan.clear(); //. membuang semua element pada lstPesan
--- HashMap
mapKontak.clear(); //. membuang semua element pada mapKontak
4. Mengecek Keberadaan Data
--- ArrayList
//. mengecek apakah element lstPesan terdapat data "Bang transfer uang donk ke rek eneng"
//. mengecek apakah element lstPesan terdapat data "Bang transfer uang donk ke rek eneng"
bool b = lstPesan.contain("Bang transfer uang
donk ke rek eneng");
--- HashMap
//. mengecek apakah element mapKontak terdapat data "+62123123455"
bool b = mapKontak.containValue("+62123123455");
Nah, untuk sementara sampai di sini dulu pelajaran singkat JAVA tentang penggunaan ArrayList dan HashMap, untuk fungsi-fungsi lain yang dimiliki kedua class tersebut bisa anda eksplorasi sendiri, misalnya fungsi iterasi dan lain sebagainya. Semoga bermanfaat..