Pada artikel Java Collection Bagian 1 sudah diutarakan bahwa Collection dapat memuat beragam tipe data bahkan object. Kali ini kita akan membuat Collection yang memuat Collection. Nah, lho…
Intinya adalah Collection dalam Collection. Gitu, Bos…
Ini kelasnya:
import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; public class CollectionMemuatCollection { public static void main(String[] args) { List<String> list_1 = new ArrayList<String>(); list_1.add("Nilai pertama dari List 1"); list_1.add("Nilai kedua dari List 1"); list_1.add("Nilai ketiga dari List 1"); List<String> list_2 = new ArrayList<String>(); list_2.add("Nilai pertama dari List 2"); list_2.add("Nilai kedua dari List 2"); list_2.add("Nilai ketiga dari List 2"); List<List> list_3 = new ArrayList<List>(); list_3.add(list_1); // list_1 dimasukkan ke dlm list_3 list_3.add(list_2); // list_2 dimasukkan ke dlm list_3 Set<List> set_1 = new HashSet<List>(); set_1.add(list_3); // list_3 dimasukkan ke dlm set_1 Set<List> set_2 = new HashSet<List>(); set_2.add(list_2); // list_2 dimasukkan ke dlm set_2 Map<String, Set> map_1 = new HashMap<String, Set>(); map_1.put("INI ISI SET_1", set_1); // set_1 dimasukkan ke dlm map_1 // dengan key = 'INI ISI SET_1' map_1.put("INI ISI SET_2", set_2); // set_2 dimasukkan ke dlm map_1 // dengan key = 'INI ISI SET_2' Map<String, List> map_2 = new HashMap<String, List>(); map_2.put("INI ISI LIST_1", list_1); // list_1 dimasukkan ke dlm map_2 // dengan key = 'INI ISI LIST_1' Set<Map> set_3 = new HashSet<Map>(); set_3.add(map_1); // map_1 dimasukkan ke dalam set_3 set_3.add(map_2); // map_2 dimasukkan ke dalam set_3 // Tampilkan semua isi set_3 ke layar for (Iterator iterator = set_3.iterator(); iterator.hasNext();) { Map map = (Map) iterator.next(); for (Iterator iterator2 = map.keySet().iterator(); iterator2 .hasNext();) { String keyMap = (String) iterator2.next(); System.out.println("===================== " + "Isi Map dengan kunci '" + keyMap + "' ====================="); if (keyMap.equals("INI ISI LIST_1")) { for (Iterator iterator3 = ((List<String>) map.get(keyMap)) .iterator(); iterator3.hasNext();) { String string = (String) iterator3.next(); System.out.println(string); } } else { if (map.get(keyMap).equals(set_1)) { for (Iterator iterator3 = ((Set<List>) map.get(keyMap)) .iterator(); iterator3.hasNext();) { List list = (List) iterator3.next(); for (Iterator iterator4 = list.iterator(); iterator4 .hasNext();) { List lista = (List) iterator4.next(); for (Iterator iterator5 = lista.iterator(); iterator5 .hasNext();) { String string = (String) iterator5.next(); System.out.println(string); } } } } else { for (Iterator iterator3 = ((Set<List>) map.get(keyMap)) .iterator(); iterator3.hasNext();) { List list = (List) iterator3.next(); for (Iterator iterator4 = list.iterator(); iterator4 .hasNext();) { String string = (String) iterator4.next(); System.out.println(string); } } } } System.out.println(); } } } }
Ini output eksekusinya:
===================== Isi Map dengan kunci 'INI ISI LIST_1' ===================== Nilai pertama dari List 1 Nilai kedua dari List 1 Nilai ketiga dari List 1 ===================== Isi Map dengan kunci 'INI ISI SET_2' ===================== Nilai pertama dari List 2 Nilai kedua dari List 2 Nilai ketiga dari List 2 ===================== Isi Map dengan kunci 'INI ISI SET_1' ===================== Nilai pertama dari List 1 Nilai kedua dari List 1 Nilai ketiga dari List 1 Nilai pertama dari List 2 Nilai kedua dari List 2 Nilai ketiga dari List 2
Silakan dicerna… pusing, pusing dah…
Leave a comment