Open In App

How to sort a Scala Map by key

Last Updated : 13 Aug, 2019
Comments
Improve
Suggest changes
Like Article
Like
Report
Map is same as dictionary which holds key:value pairs. In this article, we will learn how to sort a Scala Map by key. We can sort the map by key, from low to high or high to low, using sortBy. Syntax :
mapName.toSeq.sortBy(_._1):_*
Let's try to understand it with better example. Example #1: Scala
// Scala program to sort given map by key
import scala.collection.immutable.ListMap

// Creating object 
object GfG 
{ 

    // Main method 
    def main(args:Array[String]) 
    { 
    
        // Creating a map 
        val mapIm = Map("Zash" -> 30, 
                        "Jhavesh" -> 20, 
                        "Charlie" -> 50) 
                        
        // Sort map by key
        val res = ListMap(mapIm.toSeq.sortBy(_._1):_*)
        println(res)
    } 
} 
Output:
Map(Charlie -> 50, Jhavesh -> 20, Zash -> 30)
Example #2: Scala
// Scala program to sort given map by key
import scala.collection.immutable.ListMap

// Creating object 
object GfG 
{ 

    // Main method 
    def main(args:Array[String]) 
    { 
    
        // Creating a map 
        val mapIm = Map("Zash" -> 30, 
                        "Jhavesh" -> 20, 
                        "Charlie" -> 50) 
        
        // reverse map in ascending order
        val res = ListMap(mapIm.toSeq.sortWith(_._1 < _._1):_*)
        println(res)
    } 
} 
Output:
Map(Charlie -> 50, Jhavesh -> 20, Zash -> 30)
Example #3: Scala
// Scala program to sort given map by key
import scala.collection.immutable.ListMap

// Creating object 
object GfG 
{ 

    // Main method 
    def main(args:Array[String]) 
    { 
    
        // Creating a map 
        val mapIm = Map("Zash" -> 30, 
                        "Jhavesh" -> 20, 
                        "Charlie" -> 50) 
        
        // reverse map in descending order
        val res = ListMap(mapIm.toSeq.sortWith(_._1 > _._1):_*)
        println(res)
    } 
} 
Output:
Map(Zash -> 30, Jhavesh -> 20, Charlie -> 50)

Next Article
Article Tags :
Practice Tags :

Similar Reads