package com.hmkcode; import java.util.ArrayList; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.TreeMap; import com.hmkcode.vo.Person; public class MapApp { public static void main( String[] args ) { // ( 1 ) Map // A. Initiate Map hashMap = new HashMap(); Map treeMap = new TreeMap(); // B. Populate int k = 0 ; for(Person person:getPersons()){ hashMap.put(""+k,person); treeMap.put(""+k++,person); } // --> print System.out.println("--------- Print All -------------"); System.out.println("HashMap: "+hashMap); System.out.println("TreeMap: "+treeMap); // C. Iterate // --> print System.out.println("--------- Print Iterate by get(key) -------------"); for(String key:treeMap.keySet()){ System.out.println("treeMap: [key: "+key+" , value: "+treeMap.get(key)); } // --> print System.out.println("--------- Print Iterate by Entry -------------"); for(Entry entry:treeMap.entrySet()){ System.out.println("treeMap: [key: "+entry.getKey()+" , value: "+entry.getValue()); } // D. Sort by value TreeMap sorted_map = new TreeMap(new ValueComparator()); sorted_map.putAll(hashMap); // --> print System.out.println("--------- Print Sorted Map by Value -------------"); System.out.println("Sorted HashMap: "+sorted_map); // E. Convert Map to List List persons = new ArrayList(sorted_map.values()); // --> print System.out.println("--------- Print List -------------"); System.out.println("List: "+persons); } private static Person[] getPersons(){ Person[] persons = new Person[5]; persons[0] = new Person("Brit", 29); persons[1] = new Person("John", 32); persons[2] = new Person("Jack", 27); persons[3] = new Person("Jenifer", 24); persons[4] = new Person("Brit", 37); return persons; } } class ValueComparator implements Comparator { Map map; public ValueComparator(){ } public int compare(Object keyA, Object keyB){ return ((String) keyA).compareTo((String) keyB); } }