Koleksi Scala - HashMap
Peta skala adalah kumpulan pasangan kunci / nilai. Nilai apa pun dapat diambil berdasarkan kuncinya. Kunci di Map unik, tetapi nilainya tidak harus unik. HashMap mengimplementasikan peta yang tidak dapat diubah dan menggunakan tabel hash untuk mengimplementasikannya.
Mendeklarasikan Variabel HashMap
Berikut ini adalah sintaks untuk mendeklarasikan variabel HashMap.
Sintaksis
val colors = HashMap("red" -> "#FF0000", "azure" -> "#F0FFFF", "peru" -> "#CD853F")
Di sini, warna dideklarasikan sebagai hash-map dari Strings, Int yang memiliki tiga pasangan nilai kunci. Nilai dapat ditambahkan dengan menggunakan perintah seperti berikut -
Perintah
var myMap1: HashMap[Char, Int] = colors + ("black" -> "#000000");
Memproses HashMap
Di bawah ini adalah contoh program untuk menunjukkan cara membuat, menginisialisasi, dan memproses HashMap -
Contoh
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);
}
}
Simpan program di atas dalam Demo.scala. Perintah berikut digunakan untuk mengkompilasi dan menjalankan program ini.
Perintah
\>scalac Demo.scala
\>scala Demo
Keluaran
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()