Kepada pengunjung Yang Terhormat

Saya harap anda bahagia dengan postingan di Blog ini. anda senang,saya Melayang

Sunday 24 January 2021

Map pada bahasa pemrograman Java 7d6as6da54

 

Map pada bahasa pemrograman Java 7d6as6da54

Map adalah bentuk struktur data yang berpasangan antara key-value. Key bersifat unik karena implementasinya menggunakan Set. Key dan value adalah object, bisa object apa saja, tipe data primitif  tidak  bisa  dimasukkan  ke  dalam  Map,  juga  tidak  bisa  dimasukkan  ke  semua  jenis collection.  Implementasi Map memberikan kemampuan untuk mencari value berdasarkan key, setiap kali kita dihadapkan pada permasalahan bagaimana caranya melakukan pencarian berdasarkan value kita  bisa  menggunakan  Map  ini.  Map  bergantung  pada  method  equals  dan  hashCode  untuk menentukan apakah dua buah key sama atau tidak, jadi kalau kita ingin menggunakan object dari class  yang  kita  buat  sendiri  sebagai  key,  maka  kedua  method  itu  harus  dioverride  untuk menentukan bagaimana dua buah object dianggap sama atau tidak.  HashMap adalah class yang mengimplementasikan interface Map, sifatnya adalah tidak terurut dan tidak teratur. Implementasi HashMap adalah yang paling efsien, implementasi Map lainya yang  membutuhkan  keterurutan  atau  keteraturan  akan  menambahkan  komputasi  tambahan sehingga kurang efsien dibanding dengan HashMap. HashMap memperbolehkan satu buah key dengan nilai null dan banyak key bukan null yang valuenya adalah null.

Method penting yang dimiliki oleh Map antara lain :

 

put(Object key, Object value); method yang digunakan untuk meletakkan pasangan key dan value

 

get(Object key); method digunakan untuk mendapatkan value dari key yang dimasukkan sebagai parameter

keySet(); digunakan untuk mendapatkan Set yang berisi semua key, biasanya kita ingin mendapatkan Set dari key ini kalau ingin mengambil nilai dalam Map satu per satu

 

Mari kita lihat contoh kode penggunaan Map. Kita akan membuat sebuah map dimana key adalah kota dan value adalah kumpulan Customer yang tinggal di kota tersebut. Tipe data key adalah String dan tipe data valuenya adalah List of Customer:

import java.util.Map;

import java.util.HashMap;

import java.util.Set;

import java.util.Iterator;

import java.util.List;

import java.util.ArrayList;

public class MapTest {

  public static void main(String[] args) {

    Map<String,List<Customer>> customerByCityMap =

       new HashMap<String,List<Customer>>();

     List<Customer> jakartaCust = new ArrayList<Customer>();

     Customer a = new Customer();

     a.setId(1l);

     jakartaCust.add(a);

     Customer b  = new Customer();

     b.setId(2l);

     jakartaCust.add(b);

     customerByCityMap.put("jakarta",jakartaCust);

     List<Customer> surabayaCust = new ArrayList<Customer>();

     Customer c = new Customer();

     c.setId(3l);

     surabayaCust.add(c);

     customerByCityMap.put("surabaya",surabayaCust);

     Set<String> keys =  customerByCityMap.keySet();

     Iterator<String> iterator = keys.iterator();

     while(iterator.hasNext()) {

       String key = iterator.next();

       List<Customer> customers =  customerByCityMap.get(key);

       for(int i = 0;i < customers.size(); i++) {

         Customer cust = customers.get(i);

         System.out.println("kota : " + key + ", Customer id : " +

           cust.getId());

       }

     }

  }

}

hasil eksekusi kode di atas adalah :

$ javac MapTest.java Customer.java

$ java MapTest

kota : jakarta, Customer id : 1

kota : jakarta, Customer id : 2

kota : surabaya, Customer id : 3

$

Ada  satu  class  lagi  yang  mengimplement  Map  interface  sekaligus  keynya  diurutkan berdasarkan logic tertentu, yaitu class TreeSet. Kita akan membahas class TreeSet sekaligus HashSet setelah membahas bab Sorting di bawah ini.

No comments:

Post a Comment

iklan popcash