Treemap and three ways to iterate map

Treemap sort map by key(ascending)

Map<Integer, String> tmap =
                new TreeMap<Integer, String>();
/*                
Map<Integer, String> tmap =
                new TreeMap<Integer, String>(new Comparator<Integer>() {
                    @Override
                    public int compare(Integer o1, Integer o2) {
                        return o2 - o1;
                    }
                });*/

/*Adding elements to TreeMap*/
tmap.put(1, "Data1");
tmap.put(23, "Data2");
tmap.put(70, "Data3");
tmap.put(4, "Data4");
tmap.put(2, "Data5");

// convert map to entrySet
Set<Map.Entry<Integer, String>> set = tmap.entrySet();
System.out.println(set);

for(Map.Entry<Integer, String> entry : set){
    System.out.println("key is: "+ entry.getKey() + " & Value is: " + entry.getValue());
}

System.out.println();
/* Display content using Iterator*/
Iterator<Map.Entry<Integer, String>> iterator = set.iterator();
while(iterator.hasNext()) {
    Map.Entry<Integer, String> mentry = iterator.next();
    System.out.print("key is: "+ mentry.getKey() + " & Value is: ");
    System.out.println(mentry.getValue());
}

System.out.println();

for (Integer key : tmap.keySet()){
    System.out.println("key is: "+ key + " & Value is: " + tmap.get(key));
}

Sort HashMap by value

Map<Integer, Integer> map = new HashMap<>();

/*Adding elements to TreeMap*/
map.put(1, 2);
map.put(2, 1);
map.put(3, 9);
map.put(4, 6);
map.put(5, 3);
map.put(6, 5);

Set<Map.Entry<Integer, Integer>> set = map.entrySet();

List<Map.Entry<Integer, Integer>> list = new LinkedList<>(map.entrySet());
System.out.println(list);
Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>() {
    public int compare(Map.Entry<Integer, Integer> o1, Map.Entry<Integer, Integer> o2) {
        return o1.getValue().compareTo(o2.getValue());
    }
});
System.out.println("after sort: ");
System.out.println(list);

// put back to map
Map<Integer, Integer> result = new LinkedHashMap<Integer, Integer>();
for (Map.Entry<Integer, Integer> entry : list) {
    result.put(entry.getKey(), entry.getValue());
}

System.out.println(result);

results matching ""

    No results matching ""