# How to sort a Scala Map by key

• Last Updated : 13 Aug, 2019

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 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 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 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)
```

My Personal Notes arrow_drop_up