Scala Koleksiyonları - HashMap
Scala haritası, anahtar / değer çiftlerinden oluşan bir koleksiyondur. Herhangi bir değer, anahtarına bağlı olarak alınabilir. Anahtarlar Harita'da benzersizdir, ancak değerlerin benzersiz olması gerekmez. HashMap değişmez eşlemeyi uygular ve aynısını uygulamak için karma tablo kullanır.
HashMap Değişkenlerini Bildirme
Aşağıda bir HashMap değişkeni bildirmek için sözdizimi verilmiştir.
Sözdizimi
val colors = HashMap("red" -> "#FF0000", "azure" -> "#F0FFFF", "peru" -> "#CD853F")
Burada renkler, üç anahtar-değer çiftine sahip olan Dizelerin, Int'in bir karma haritası olarak bildirilir. Değerler, aşağıdaki gibi komutlar kullanılarak eklenebilir -
Komut
var myMap1: HashMap[Char, Int] = colors + ("black" -> "#000000");
HashMap işleniyor
Aşağıda HashMap'in nasıl oluşturulacağını, başlatılacağını ve işleneceğini gösteren örnek bir program verilmiştir -
Misal
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);
}
}
Yukarıdaki programı şuraya kaydedin: Demo.scala. Bu programı derlemek ve çalıştırmak için aşağıdaki komutlar kullanılır.
Komut
\>scalac Demo.scala
\>scala Demo
Çıktı
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()