Menggunakan Collection Class Map dan HashMap

Map ( java.util.Map) adalah interfaces java yang digunakan untuk menyimpan data dengan pola data key dan value, bayangkan key adalah kunci dari data (seperti primary key pada table database) sedangkan value adalah data keseluruhannya berupa object lengkap dengan properti-nya ( seperti baris data / record pada table database).

Berikut contoh nya :

  1. Buat Class AccountBank sebagai model data
    package org.lp3tnf.oop;
    public class AccountBank {
    	protected String nomor;
    	protected double saldo;
    	protected String nasabah;
    
    	public Account(String nomor , double saldo_awal, String nasabah)
    	{
    		this.nomor = nomor;
    		saldo = saldo_awal;
    		this.nasabah = nasabah;
    	}	
    
    	public void deposit(double uang)
    	{
    		saldo = saldo + uang;
    	}
    	public void withdraw(double uang)
    	{
    		saldo = saldo - uang;
    	}
    	public String getNomor() {
    		return nomor;
    	}
    	public void setNomor(String nomor) {
    		this.nomor = nomor;
    	}
    	public double getSaldo() {
    		return saldo;
    	}
    	public void setSaldo(double saldo) {
    		this.saldo = saldo;
    	}
    	public String getNasabah() {
    		return nasabah;
    	}
    	public void setNasabah(String nasabah) {
    		this.nasabah = nasabah;
    	}
           @Override
    	public String toString() {
    		return "AccountBank " + nasabah +
    				", nomor=" + nomor
    				+ ", saldo=" + saldo;
    	}
    }
    
  2. Berikut implementasi Map untuk kelola data AccountBank
    package org.lp3tnf.oop;
    import java.util.HashMap;
    import java.util.Map;
    import javax.swing.JOptionPane;
    public class UseMap {
    
    	public static void main(String[] args) {
    		// buat object map
    		// yang isinya key=string value object AccountBank
    		Map<String,AccountBank> map_ab = new HashMap<String,AccountBank>();
    		// tambahkan item ke map
                    AccountBank ab1 = new AccountBank("4001",5000, "Faiz Fikri");
    		AccountBank ab2 = new AccountBank("4002",15000, "Defghi Muhammad");
    		map_ab.put(ab1.getNomor(), ab1);
                    map_ab.put(ab2.getNomor(), ab2);
    
             // ambil object berdasarkan key
             String str = JOptionPane.showInputDialog("No.Account:");
             AccountBank abcari = map_ab.get(str);
             if (abcari != null) JOptionPane.showMessageDialog(null,abcari);
             else JOptionPane.showMessageDialog(null,"Account Tidak Ada !!!");
    
            // tampilkan seluruh data pada map
           // tampilkan hanya  keynya saja
    
    		for (String no : map_ab.keySet())
    		{
    			System.out.println(no);
    		}
    
    		// tampilkan valuenya saja
    		for ( AccountBank ac: map_ab.values())
    		{
    			System.out.println( ac );
    		}
    
    		// hapus object dari map berdasarkan key
    		map_ab.remove("4001");
    
    		// cetak key dan objeknya sekalian
    		for (Map.Entry<String, AccountBank> entry : map_ab.entrySet())
    		{
    			String no = entry.getKey();
    			AccountBank abc = entry.getValue();
    			System.out.println(no + " : " + abc);
    		}
    	}
    
    }
    

Post a Response