LinkedHashMap maintains insertion order. Convert LinkedHashMap into TreeMap and after that print keys of TreeMap which are sorted in nature.
Example:
Input: linkedHashMap = {{5,4}, {3,44}, {4,15}, {1,20}, {2,11}} Output: key -> 1 : value -> 20 key -> 2 : value -> 11 key -> 3 : value -> 44 key -> 4 : value -> 15 key -> 5: value -> 4
Approach:
- Take LinkedHashMap as an input.
- Create new TreeMap.
- Pass LinkedHashMap object into the constructor of TreeMap.
- Print Keys of TreeMap object.
Below is the implementation of the above approach:
Java
// Sort LinkedHashMap by keys in Java import java.util.*; import java.io.*; class GFG { public static void main(String[] args) { LinkedHashMap<Integer, Integer> lMap = new LinkedHashMap<>(); // adding key-value pairs to LinkedHashMap object lMap.put( 5 , 4 ); lMap.put( 3 , 44 ); lMap.put( 4 , 15 ); lMap.put( 1 , 20 ); lMap.put( 2 , 11 ); System.out.println( "After Sorting :\n" ); // convert to TreeMap Map<Integer, Integer> map = new TreeMap<>(lMap); // iterate acc to ascending order of keys for (Integer sKey : map.keySet()) { System.out.println( "Key -> " + sKey + ": Value -> " + lMap.get(sKey)); } } } |
After Sorting : Key -> 1: Value -> 20 Key -> 2: Value -> 11 Key -> 3: Value -> 44 Key -> 4: Value -> 15 Key -> 5: Value -> 4