Belajar Menggunakan HashMap pada Java


Assalamualaikum Warahmatullahi Wabarakatuh.

HashMap adalah salah satu jenis Collection pada Java, fungsinya hampir sama dengan ArrayList , yaitu untuk mengorganisasikan dan menampilkan data. HashMap menggunakan tipe data berpasangan key-value untuk mengorganisasikan datanya. Yang membedakan HashMap dengan ArrayList yaitu pada HashMap, kita tidak menginputkan data secara terurut, seperti ArrayList yaitu 0 ,1, 2, 3, ....dsb. ,jadi kita menggunakan pemetaan atau MAP , berdasarkan key sebagai index yang dapat kita isi secara bebas serta menjadi element unik yang berbeda satu sama lain, untuk mengakses valuenya.

Belajar Menggunakan HashMap pada Java

Pada meteri berikut ini, kita akan belajar membuat program Java sederhana dengan menggunakan HashMap sebagai collectionnya. Berikut mari kita simak lebih lanjut.

Materi Lainnya Yang Direkomendasikan:

Menggunakan HashMap pada Java

Pada contoh program berikut ini, kita akan membuat bebrapa data yang akan kita masukan pada HashMap, data tersebut memiliki key serta valuenya masing-masing, contoh data yang akan kita buat seperti berikut ini:
Key Nilai/Value
Nama Wildan M Athoillah
Jurusan Teknik Informatika
Kampus Universitas Putra Indonesia (UNPI) Cianjur
Pada tabel tersebut, key digunakan sebagai kunci untuk menampilkan atau mengakses value, key pada HashMap dapat kalian isi dengan bebas, ini yang membedakan HasMap dengan ArrayList, jika pada ArrayList untuk menampilkan nilai, kita perlu mengakses posisi indexnya, tetapi pada HashMap, untuk mengakses value/nilai tersebut, kita perlu memanggil keynya.

Selain tipe data String , kita juga dapat menggunakan Object lain ,seperti List atau Set. Untuk digunakan sebagai Valuenya.

Setelah kalian tahu mengenai fungsi key serta valuenya, mari kita coba membahas penerapan HashMap pada Program Java. Contoh sederhana pengguaan HashMap seperti berikut ini:

package WILDAN_TECHNO_ART;

//Package Untuk Membuat HashMap
import java.util.HashMap;

public class latihan_java {
    
    public static void main(String[] args){
        //Membuat Objek Dari HashMap
        HashMap<String,String> unpi = new HashMap<>();
        
        //Menginputkan Data pada HashMap
        unpi.put("Nama", "Wildan M Athoillah");
        unpi.put("Jurusan", "Teknik Informatika");
        unpi.put("Kampus", "Universitas Putra Indonesia");
        
        //Menampilkan Data Sesuai Dengan key yang Di Panggil
        System.out.println(unpi.get("Nama"));
        System.out.println(unpi.get("Jurusan"));
        System.out.println(unpi.get("Kampus"));
    }
}

Demo:

Contoh Sederhana Penggunaan HashMap pada Java

Penjelasan:

Untuk membuat mendeklarasikan objek HashMap, syntax awalan seperti berikut ini:

HashMap<Key, Value> objek = new HashMap<>();

Key: Digunakan sebagai Kunci Untuk Memanggil Value.
Value: Merupakan Isi Nilai Yang Akan Dipanggil Oleh Key.

Pada program tersebut, kita membuat objek awal seperti ini HashMap<String, String> yang artinya, pada Key dan Value mempunyai tipe data String, lalu untuk menginputkan data, kalian dapat menggunakan fungsi put() diisi dengan Key dan Valuenya, lalu untuk mengakses valuenya, kalian dapat menggunakan fungsi get() didalamnya masukan Key untuk mengakses value yang diinginkan.

Tipe data pada Key dan Value dapat kalian bedakan, misalnya <Integer, String>, <String, Integer>, <Integer, Integer>, <Boolean, Double>, dsb.

Pada program sebelumnya, kita menampilkan data satu per satu menggunakan pada System.out.println(), untuk menampilkan semua data sekaligs, kalian seperti pada Array, kalian dapat menggunakan statement for-each.

Materi Yang Harus Kalian Pelajari: Penggunaan For-Each pada Program java

Contoh programnya seperti berikut ini:

package WILDAN_TECHNO_ART;

import java.util.HashMap; //Package Untuk Membuat HashMap
import java.util.Map; //Package Untuk Membuat MAP

public class latihan_java {
    
    public static void main(String[] args){
        //Membuat Objek Dari HashMap
        HashMap<Integer,String> unpi = new HashMap<>();
        
        //Menginputkan Data pada HashMap
        unpi.put(10, "Wildan");
        unpi.put(20, "Adibil");
        unpi.put(30, "Anisa");
        unpi.put(40, "Fraka");
        unpi.put(50, "Taufan");
        unpi.put(60, "Siti");
        unpi.put(70, "Widi");
        unpi.put(80, "Silmi");
        unpi.put(90, "Hendra");
        unpi.put(100, "Indra");
        
        //Menampilkan Semua Data Menggunakan For-Each
        for(Map.Entry map : unpi.entrySet()){
            System.out.println("Key: "+map.getKey()+ " Valuenya = "+map.getValue());
        }
    }
}

Demo:

Menampilkan semua data menggunakan for-each pada HashMap

Penjelasan:

Pertama-tama kita import dulu library dari java.util.Map, yang digunakan untuk membuat MAP pada HashMap.

Disini kita menggunakan perulangan for each , pada kondisi untuk menampilkan Key dan Valuenya, kita menggunakan unpi.entrySet(), pada static class Map.Entry dengan objek map.

Lalu tampilkan semua nilai dengan menggunakan statement System.out.println("Key: "+map.getKey()+"  Valuenya = "+map.getValue()), getKey digunakan untuk menampilkan key dan getValue() digunakan untuk menampilkan Value.

Jika kalian hanya ingin menampilkan Key nya saja, ubah baris kode pada for-each menjadi seperti ini:

for(Integer key : unpi.keySet()){
            System.out.println("Key: "+ key);
        }

Demo:

Menampilkan semua Key pada HashMap Menggunakan For-Each

Dan jika ingin valuenya saja yang ditampilkan, ubah codenya menjadi seperti ini:

for(String value : unpi.values()){
            System.out.println("Value: "+ value);
        }

Demo:

Mencetak seuma value pada HashMap

Cetak Key dan Value sesuai dengan tipe datanya masing-masing, method values() dan keySet() digunakan untuk menghitung jumlah atau ukuran key dan value.

Selain tipe data String, Integer, Boolean, dsb. Kita juga bisa menyimpan value dengan Object lain seperti List dan Set. Untuk itu pada contoh program berikut ini, kita akan menggunakan Nama Planet sebagai valuenya,  Nama Planet tersebut akan di jadikan sebagai dari Key, dan nama-nama planetnya sebagai Value. Contoh programnya seperti berikut ini:

package WILDAN_TECHNO_ART;

import java.util.ArrayList; //Package Untuk Membuat ArrayList
import java.util.HashMap; //Package Untuk Membuat HashMap
import java.util.List; //Package Untuk Membuat List
import java.util.Map; //Package Untuk Membuat MAP

public class latihan_java {
    
    public static void main(String[] args){
        //Membuat Objek dari ArrayList
        List<String> namaPlanet = new ArrayList<>();
        
        //Memasukan Data/Value pada Objek namaPlanet
        namaPlanet.add("Merkurius");
        namaPlanet.add("Venus");
        namaPlanet.add("Bumi");
        namaPlanet.add("Mars");
        namaPlanet.add("Saturnus");
        namaPlanet.add("Jupiter");
        namaPlanet.add("Neptunus");

        //Membuat Objek Dari HashMap
        Map<String, List<String>> objekMap = new HashMap<>();
        objekMap.put("Nama Planet", namaPlanet);
        
        //Menampilkan Semua Data Menggunakan For-Each
        for(Map.Entry map : objekMap.entrySet()){
            System.out.println(map.getKey()+ " = " +map.getValue());
        }
    }
}

Demo:

Menampilkan semua data menggunakan ArrayList dengan pada HashMap

Penjelasan:

Pada program tersebutPertama-tama kita akan membuat objek, untuk grup dari key, dengan menulis awalan

Map<String,List<String>> objekMap = new HashMap();

Kita menggunakan Key dengan tipe data String , dan juga Value di dalamnya List dengan tipe data String juga.

Selanjutnya kita membuat objek dari ArrayList untuk memasukan nilai atau nama-nama planet,, dengan menulis code List<String> namaPlanet = new ArrayList<>();

Lalu kita inputkan data dengan menggunakan fungsi add();

Selanjutnya kita menginput data dari objekMap, yang dimana "Nama Planet" di gunakan sebagai key lalu data-data yang ada di dalam objek namaPlanet digunakan sebagai value.

Kemudian kita tampilkan data key dan valuenya, pada System.out.println();

Sekian dari saya, semoga bermanfaat. Wasalamualaikum Warahmatullahi Wabarakauh.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.