Sort HashMap by keys in java (ascending & descending order)

What is HashMap in java?

  • HashMap is Hash table based implementation of the Map interface.
  • HashMap provides constant-time performance for the basic operations (get and put).
  • HashMap based implementation is not thread safe.
  • HashMap must synchronized externally, If multiple threads access a hashmap concurrently.
  • Sort the HashMap by keys in ascending & descending order.
    • Map<String, String> mapSportsPersonality = new HashMap<>().
  • Print the sorted map using forEach method (Java 8)

Program – sort HashMap by keys in ascending & descending order

package org.learn.collection.map.hmap;

import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;

public class SortElementInArrayList {

 public static void main(String[] args) {
  Map<String, String> mapSportsPersonality = new HashMap<>();
  mapSportsPersonality.put("Tennis", "Federer");
  mapSportsPersonality.put("Cricket", "Bradman");
  mapSportsPersonality.put("Basketball", "Jordan");
  mapSportsPersonality.put("Golf", "Woods");
  mapSportsPersonality.put("Boxer", "Ali");

  System.out.println("Demo of sort methods: ");
  demoSortMethod(mapSportsPersonality);  
 } 

 private static void demoSortMethod(Map<String, String> mapSportsPersonality) {
  // {Tennis=Federer, Cricket=Bradman, Golf=Woods, Basketball=Jordan, Boxer=Ali}
  System.out.println("Orignal HashMap:" + mapSportsPersonality);
  
  System.out.println("\n1. Sort HashMap by ascending keys: " );
  TreeMap<String,String>mapSorted = new TreeMap<>(mapSportsPersonality);
  mapSorted.forEach((key, value) -> {
   System.out.println(key + ", " + value);
  });
  
  System.out.println("\n2. Sort HashMap by descending keys: " );
  mapSorted.descendingMap().forEach((key, value) -> {
   System.out.println( key + ", "  + value);
  });  
 } 
}

Output – Sort HashMap in ascending & descending order

Demo of sort methods: 
Orignal HashMap:{Tennis=Federer, Cricket=Bradman, Golf=Woods, Basketball=Jordan, Boxer=Ali}

1. Sort HashMap by ascending keys: 
Basketball, Jordan
Boxer, Ali
Cricket, Bradman
Golf, Woods
Tennis, Federer

2. Sort HashMap by descending keys: 
Tennis, Federer
Golf, Woods
Cricket, Bradman
Boxer, Ali
Basketball, Jordan
Scroll to Top