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 :
- 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; } }
- 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); } } }