import
java.util.*;
class
GFG {
public
static
<K, V
extends
Comparable<V> > Map<K, V>
valueSort(
final
Map<K, V> map)
{
Comparator<K> valueComparator =
new
Comparator<K>()
{
public
int
compare(K k1, K k2)
{
int
comp = map.get(k1).compareTo(map.get(k2));
if
(comp ==
0
)
return
1
;
else
return
comp;
}
};
Map<K, V> sorted =
new
TreeMap<K, V>(valueComparator);
sorted.putAll(map);
return
sorted;
}
public
static
void
main(String[] args)
{
TreeMap<Integer, String> map
=
new
TreeMap<Integer, String>();
map.put(
1
,
"Anshu"
);
map.put(
5
,
"Rajiv"
);
map.put(
3
,
"Chhotu"
);
map.put(
2
,
"Golu"
);
map.put(
4
,
"Sita"
);
Map sortedMap = valueSort(map);
Set set = sortedMap.entrySet();
Iterator i = set.iterator();
while
(i.hasNext())
{
Map.Entry mp = (Map.Entry)i.next();
System.out.print(mp.getKey() +
": "
);
System.out.println(mp.getValue());
}
}
}