El mapa es lo mismo que el diccionario que contiene pares clave:valor. En este artículo, aprenderemos cómo ordenar un Scala Map por clave. Podemos ordenar el mapa por clave, de menor a mayor o de mayor a menor, usando sortBy .
Sintaxis:
mapName.toSeq.sortBy(_._1):_*
Tratemos de entenderlo con un mejor ejemplo.
Ejemplo 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) } }
Producción:
Map(Charlie -> 50, Jhavesh -> 20, Zash -> 30)
Ejemplo #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) } }
Producción:
Map(Charlie -> 50, Jhavesh -> 20, Zash -> 30)
Ejemplo #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) } }
Producción:
Map(Zash -> 30, Jhavesh -> 20, Charlie -> 50)