Karena aku sudah pernah belajar C++ dan menggunakan struktur data STL seperti unordered_map dan map, maka aku bisa katakan dengan mudah, bahwa cara kerja Hashmap di Java mirip dengan 2 struktur data tadi.
Well.., mungkin cukup dilakukan beberapa penyesuaian sedikit, karena ada beberapa penulisan syntax berbeda yang harus dipelajari, tapi konsepnya sama.
Class HashMap merupakan class turunan dari class AbstractMap dan implementasi dari interface Map.
HashMap adalah sebuah class yang berisi sekumpulan pasangan key dan value. Nilainya bisa dalam bentuk tipe data primitif, atau objek seperti class.
HashMap bisa dibilang seperti Array asosiatif dalam Java.
Aku sudah pernah belajar Map dan Unordered_map di C++, jadi aku tidak menjelaskan panjang lebar disini!
Sebelum menggunakan HashMap, kita harus mengimpornya terlebih dahulu:
import java.util.HashMap;Setelah diimpor, buat objek HashMap untuk menggunakanya:
HashMap<Integer, String> days = new HashMap<Integer,String>Pada contoh di atas, kita membuat objek HashMap bernama days. Objek ini dapat kita gunakan untuk menyimpan koleksi data.
Tipe data yang digunakan untuk key adalah Integer dan value adalah String.
Artinya: key harus bertipe Integer dan value yang tersimpan harus dalam bertipe String.
Untuk mengisi data pada HasMap, bisa digunakan method put(), seperti ini:
days.put(1, "Minggu");
days.put(2, "Senin");
days.put(3, "Selasa");
days.put(4, "Rabu");
days.put(5, "Kamis");
days.put(6, "Jum'at");
days.put(7, "Sabtu");Objek HashMap days berisi nama-nama hari dengan key 1 - 7. Bisa dilihat dengan cara menuliskan kode ini:
import java.util.HashMap;
public class CobaHashMap {
public static void main(String[] args) {
// membuat objek hashmap
HashMap<Integer, String> days = new HashMap<Integer,String>();
// mengisi nilai ke objek days
days.put(1, "Minggu");
days.put(2, "Senin");
days.put(3, "Selasa");
days.put(4, "Rabu");
days.put(5, "Kamis");
days.put(6, "Jum'at");
days.put(7, "Sabtu");
// mencetak semua isi dari objek days
System.out.println("Isi objek days: " + days);
}
}Jalankan saja, dan semua key dan value akan dioutputkan semua sekaligus.
Untuk mengambil nilai dari HashMap, kita bisa menggunakan method get() dengan parameter key nya:
days.get(2);Ini artinya kita akan mengambil data yang memiliki key yaitu 2, yaitu data berupa Senin.
Ada dua method yang dapat digunakan untuk menghapus nilai dari HashMap:
remove(key)menghapus salah satu data yang memiliki key yang sama.clear()menghapus semua nilai, atau mengosongkan HashMap.
Ada dua method yang bisa digunakan untuk mengubah nilai di dalam HashMap:
- Method
put(), akan menabmbahkan data baru jika sebelumnya belum ada di HashMap. - Method
replace(), nilai yang akan diubah harus sudah ada didalam HashMap.
Ada banyak method untuk class HashMap, berikut beberapa yang penting:
Berikut ini penjelasan beberapa method:
clear()untuk membersihkan isi HashMap;- 1 untuk mengecek apakah HashMap dalam keadaan kosong atau tidak;
size()untuk mengambil ukuran HashMap (jumlah item di dalam hashmap);values()untuk mengambil semua nilai yang ada di dalam HashMap;keySet()untuk mengambil semua key yang ada di dalam HashMap;clone()untuk menggandakan objek HashMap;
dll.
