Mengambil Map di dalam Map

Sempet sedikit frustasi nih.. tugas dari bos ga kelar2… biasa lah programmer baru… jadi kelinci percobaan melulu.. hehe tapi whatever lah… ane jadi semakin paham.. dengan Java… secara ane wong Jowo.. lah apa hubungannya :P … heeh langsung aja nih .. kang mas… ane mau berbagi.. gimana caranya Mengambil isi dalam HashMap .. yang mana isi nya tersebut bertipe HashMap juga…..

Berikut ini adalah contoh kode programmnya :

package main;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class tester {
public static void main(String[]args){
HashMap mm = new HashMap();
HashMap mm2 = new HashMap();

mm2.put("a", "Indonesia");
mm2.put("b", "Malaysia");
mm2.put("c", "Filipina");
mm2.put("d", "Singapura");

mm.put("1", "Jakarta");
mm.put("2", "Bogor");
mm.put("3", "Depok");
mm.put("4", "Tangerang");
mm.put("5", "Bekasi");
mm.put("6", "Bandung");
mm.put("7", "Surabaya");
mm.put("8", "Palangkaraya");
mm.put("negara", mm2);

System.out.println("ukuran map : "+mm.size());

Set entri = mm.entrySet();
Iterator iterate = entri.iterator();
while(iterate.hasNext()){

Map.Entry pasangan = (Map.Entry) iterate.next();
Object kunci = pasangan.getKey();
Object nilai = pasangan.getValue();

if(pasangan.getKey().toString().equalsIgnoreCase("negara")){
HashMap pp = (HashMap)pasangan.getValue();
System.out.println("ukuran pp ; "+pp.size());
Set ss = pp.keySet();

Iterator ii = ss.iterator();
while(ii.hasNext()){
Object knc = ii.next(); // Ambil kunci berikut
Object nilais = pp.get(knc); // Ambil nilai yang ditunjuk oleh kunci
System.out.println( " (" + knc + "," + nilais + ")" );
}

}else{
System.out.println( " (" + kunci + "," + nilai + ")" );
}

}

}
}

Disini ane menginput map pertama dengan isi HashMap lain.. :

mm.put("negara", mm2);

nah beginilah hasilnya :

ukuran map : 9
(3,Depok)
(2,Bogor)
(1,Jakarta)
(7,Surabaya)
(6,Bandung)
(5,Bekasi)
(4,Tangerang)
(8,Palangkaraya)
ukuran pp ; 4
(d,Singapura)
(b,Malaysia)
(c,Filipina)
(a,Indonesia)

Leave a Reply