Skip to main content

Java | Inisialisasi HashMap

Sahabat sudah kenal pada HashMap? Udah ya?!
Betul, HashMap merupakan sebuah class struktur data yang menyimpan data berupa key dan value,
mirip sistem kerja kamus dimana kita mencari arti sebuah kata melalui kata kuncinya.

Deklarasi HashMap biasanya berbentuk seperti ini HashMap<T, O>, dimana T adalah class object yang menjadi key dan O adalah class object yang menjadi value.
Perhatikan contoh berikut:
private HashMap<String, Image> imageMap = new HashMap<String, Image>();
//di sini saya mendeklarasikan sebuah HashMap yang memiliki key berupa String dan value berupa Image


Untuk mengakses HashMap perintah yang digunakan adalah sebagai berikut:
imageMap.put("Eko", new ImageIcon(getClass().getResource("/images/eko.jpg")).getImage());
// statement di atas berfungsi untuk memasukkan data ke dalam HashMap dengan key "Eko" dan value Image
// sedangkan statement berikut ini berfungsi untuk mengambil value dari HashMap dengan key "Eko"
imageMap.get("Eko");

Selanjutnya adalah bagaimana cara menginisialisasi sebuah HashMap, dengan kasus yang sama yakni sebuah HashMap dengan key berupa String dan value berupa Image

private HashMap<String, Image> imageMap = new HashMap<String, Image>() {
        {
            put("Eko", Utilities.icon2Image(new ImageIcon(getClass().getResource("/images/eko.jpg"))));
            put("Suhariyadi", Utilities.icon2Image(new ImageIcon(getClass().getResource("/images/wisnu.jpg"))));
        }
    };


Comments

Popular posts from this blog

PostgreSQL | Membuat Nomor Urut dengan Window Function ROW_NUMBER()

Pengguna Oracle Database mungkin sudah sangat familiar dengan clausa ROWNUM. Bagi yang belum tahu apa itu ROWNUM,  ROWNUM  adalah  pseudo column  (kolom bayangan) yang berisi nomor urut dari hasil eksekusi query. Sayangnya fitur ini belum tersedia pada PostgreSQL . Namun ada kabar gembira bagi kita pengguna  PostgreSQL , dimana sejak versi 8.4, PostgreSQL telah menyediakan 1 window function  yang mengakomodasi masalah ROWNUM, yakni ROW_NUMBER() . Sesuai dengan dokumentasi yang disediakan, cara menggunakan fungsi ini adalah dengan menggabungkannya dengan clausa OVER  yang didalamnya berisi clausa ORDER BY . Supaya lebih jelas dan lebih mudah dipahami, lebih baik langsung kita praktekkan saja. Saya membuat sebuah table dengan struktur sebagai berikut CREATE TABLE name ( code CHAR(1) ); yang kemudian saya isi kolom code dengan alfabet mulai dari a s/d z  dan angka 0 (nol). Sebelumnya kita lakukan query ke table name tanpa clausa O...

Java | Menambahkan Dialog Konfirmasi Sebelum Keluar dari Aplikasi

Kali ini saya ingin berbagi cara sederhana untuk menampilkan dialog konfirmasi sebelum keluar dari aplikasi. Dengan syarat aplikasi yang kita buat harus menggunakan JFrame sebagai frame utama. Langkah-langkah yang harus kita lakukan adalah sebagai berikut: 1. Ganti property default close operation dari JFrame menjadi DO_NOTHING_ON_CLOSE, value ini dimaksudkan agar ketika button close dari JFrame diklik tidak akan terjadi apa-apa. Sebaliknya jika valuenya adalah EXIT_ON_CLOSE, maka ketika button close dari JFrame diklik maka program akan tertutup. setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); 2. Yang kedua adalah kita harus menambahkan WindowListener pada JFrame. Interface WindowListener memiliki beberapa method terkait event terhadap window (yakni JFrame), namun yang harus kita override hanyalah method windowClosing, method ini akan dipanggil ketika button close diklik.   Sebagai informasi, apabila kita menambahkan WindowListener secara langsung ...

I'm not that fanatic anymore ^^!

Haiiii * impersonate cara Takeru Satoh mengucapkan hai (iya dalam bahasa Jepang) di dorama Emperor's Cook :P Yak, sesuai judul post kali ini, saya sudah tidak sefanatik dulu terhadap bahasa pemrograman yang saya gunakan, yakni Java. Semua berawal ketika saya mengenal JVM language  lain (bahasa pemrograman yang berjalan di Java Virtual Machine ) seperti : Groovy yang mengusung Dynamic Typing Bagi programmer dynamic type seperti PHP mungkin akan merasa familiar dengan Groovy, karena kita tidak perlu mendeklarasikan tipe data pada variable. Saya sempat jatuh cinta pada bahasa ini, namun saya masih merasakan keamanan "bermain" OOP dengan static type. Scala dengan konsep Functional OOP (Object Oriented Programming) Bahasa ini membuka wawasan saya bahwa diluar pemrograman struktural dan berbasis object (imperative), pernah ada bahasa yang mengusung konsep functional  dan belakangan ini mulai muncul lagi ke permukaan dan bahkan banyak menyedot perhatian para developer...