Colecciones Scala - ListMap
Scala map es una colección de pares clave / valor. Cualquier valor se puede recuperar según su clave. Las claves son únicas en el mapa, pero los valores no necesitan ser únicos. ListMap implementa un mapa inmutable y usa list para implementar el mismo. Se utiliza con una pequeña cantidad de elementos.
Declaración de variables ListMap
La siguiente es la sintaxis para declarar una variable ListMap.
Sintaxis
val colors = ListMap("red" -> "#FF0000", "azure" -> "#F0FFFF", "peru" -> "#CD853F")
Aquí, los colores se declaran como un mapa hash de Strings, Int, que tiene tres pares clave-valor. Los valores se pueden agregar usando comandos como los siguientes:
Mando
var myMap1: ListMap[Char, Int] = colors + ("black" -> "#000000");
Procesando ListMap
A continuación se muestra un programa de ejemplo que muestra cómo crear, inicializar y procesar ListMap:
Ejemplo
import scala.collection.immutable.ListMap
object Demo {
def main(args: Array[String]) = {
var myMap: ListMap[String,String] = ListMap(
"red" -> "#FF0000", "azure" -> "#F0FFFF", "peru" -> "#CD853F"
);
// Add an element
var myMap1: ListMap[String,String] = myMap + ("white" -> "#FFFFFF");
// Print key values
myMap.keys.foreach{
i =>
print( "Key = " + i )
println(" Value = " + myMap(i) )
}
if( myMap.contains( "red" )) {
println("Red key exists with value :" + myMap("red"))
} else {
println("Red key does not exist")
}
if( myMap.contains( "maroon" )) {
println("Maroon key exists with value :" + myMap("maroon"))
} else {
println("Maroon key does not exist")
}
//removing element
var myMap2: ListMap[String,String] = myMap - ("white");
// Create empty map
var myMap3: ListMap[String,String] = ListMap.empty[String, String];
println(myMap1);
println(myMap2);
println(myMap3);
}
}
Guarde el programa anterior en Demo.scala. Los siguientes comandos se utilizan para compilar y ejecutar este programa.
Mando
\>scalac Demo.scala
\>scala Demo
Salida
Key = red Value = #FF0000
Key = azure Value = #F0FFFF
Key = peru Value = #CD853F
Red key exists with value :#FF0000
Maroon key does not exist
ListMap(red -> #FF0000, azure -> #F0FFFF, peru -> #CD853F, white -> #FFFFFF)
ListMap(red -> #FF0000, azure -> #F0FFFF, peru -> #CD853F)
ListMap()