GeeksforGeeks App
Open App
Browser
Continue

# How to sort a Scala Map by value

In this article, we will learn how to sort a Scala Map by value. We can sort the map by key, from low to high or high to low, using sortBy method.

Syntax:

`MapName.toSeq.sortBy(_._2):_*`

Let’s try to understand it with better example.

Example #1:

## Scala

 `// Scala program to sort given map by value``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 the map by value``        ``val` `res ``=` `ListMap(mapIm.toSeq.sortBy(``_``.``_``2``)``:_``*)``        ``println(res)``    ``}``}`

Output:

`Map(Jhavesh -> 20, Zash -> 30, Charlie -> 50)`

In above example, we can see mapIm.toSeq.sortBy method is used to sort the map by key values.

Example #2:

## Scala

 `// Scala program to sort given map by value``// in ascending order``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 value in ascending order``        ``val` `res ``=` `ListMap(mapIm.toSeq.sortWith(``_``.``_``2` `<` `_``.``_``2``)``:_``*)``        ``println(res)``    ``}``}`

Output:

`Map(Jhavesh -> 20, Zash -> 30, Charlie -> 50)`

Here, In above example we are sorting map in ascending order by using mapIm.toSeq.sortWith(_._2 < _._2):_*

Example #3:

## Scala

 `// Scala program to sort given map by value``// in descending order``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 value in descending order``        ``val` `res ``=` `ListMap(mapIm.toSeq.sortWith(``_``.``_``2` `>` `_``.``_``2``)``:_``*)``        ``println(res)``    ``}``}`

Output:

`Map(Charlie -> 50, Zash -> 30, Jhavesh -> 20)`

Above example show to sorting map in descending order.

My Personal Notes arrow_drop_up