Collections Scala - HashMap

La carte Scala est une collection de paires clé / valeur. Toute valeur peut être récupérée en fonction de sa clé. Les clés sont uniques dans la carte, mais les valeurs n'ont pas besoin d'être uniques. HashMap implémente une carte immuable et utilise une table de hachage pour l'implémenter.

Déclaration des variables HashMap

Voici la syntaxe pour déclarer une variable HashMap.

Syntaxe

val colors = HashMap("red" -> "#FF0000", "azure" -> "#F0FFFF", "peru" -> "#CD853F")

Ici, les couleurs sont déclarées comme un hash-map de Strings, Int qui a trois paires clé-valeur. Les valeurs peuvent être ajoutées en utilisant des commandes comme les suivantes -

Commander

var myMap1: HashMap[Char, Int] = colors + ("black" -> "#000000");

Traitement de HashMap

Voici un exemple de programme montrant comment créer, initialiser et traiter HashMap -

Exemple

import scala.collection.immutable.HashMap
object Demo {
   def main(args: Array[String]) = {
      var myMap: HashMap[String,String] = HashMap(
         "red" -> "#FF0000", "azure" -> "#F0FFFF", "peru" -> "#CD853F"
      );
      // Add an element
      var myMap1: HashMap[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: HashMap[String,String] = myMap - ("white");
      // Create empty map
      var myMap3: HashMap[String,String] = HashMap.empty[String, String];
      println(myMap1);
      println(myMap2);
      println(myMap3);		  
   }
}

Enregistrez le programme ci-dessus dans Demo.scala. Les commandes suivantes sont utilisées pour compiler et exécuter ce programme.

Commander

\>scalac Demo.scala
\>scala Demo

Production

Key = azure Value = #F0FFFF
Key = peru Value = #CD853F
Key = red Value = #FF0000
Red key exists with value :#FF0000
Maroon key does not exist
HashMap(azure -> #F0FFFF, peru -> #CD853F, white -> #FFFFFF, red -> #FF0000)
HashMap(azure -> #F0FFFF, peru -> #CD853F, red -> #FF0000)
HashMap()