Scala中的HashMap
HashMap 是 Scala Collection 的一部分。它用于存储元素并返回地图。 HashMap 是使用 Hash Table 数据结构存储的键和值对的组合。它提供了 Map 的基本实现。
句法:
var hashMapName = HashMap("key1"->"value1", "key2"->"value2", "key3"->"value3", ...)
我们必须为 HashMap 导入scala.collection.mutable.HashMap
。
HashMap 执行的操作
创建一个HashMap:
下面是创建 HashMap 的示例。在下面的代码中,我们可以看到创建了一个空的 HashMap,然后创建了一个带有值的 HashMap。
// Scala program to create or print HashMap
import scala.collection.mutable.HashMap
// Creating object
object Geeks
{
// Main method
def main(args: Array[String])
{
// Creating empty HashMap
var hashMap = new HashMap()
// Creating HashMap with values
var hashMap2 = HashMap("C"->"Csharp", "S"->"Scala", "J"->"Java")
// Printing HashMap
println(hashMap)
println(hashMap2)
}
}
输出:
Map()
Map(S -> Scala, J -> Java, C -> Csharp)
添加和访问元素:
在下面的示例中,创建了一个 HashMap。还执行了添加元素和访问元素。
// Scala program to Adding and Accessing Elements HashMap
import scala.collection.mutable.HashMap
// Creating object
object Geeks
{
// Main method
def main(args: Array[String])
{
// Creating HashMap
var hashMap = HashMap("C"->"Csharp", "S"->"Scala", "J"->"Java")
// Iterating elements
hashMap.foreach
{
case (key, value) => println (key + " -> " + value)
}
// Accessing value by using key
println(hashMap("S"))
// Adding element
var HashMap2 = hashMap + ("P"->"Perl")
HashMap2.foreach
{
case (key, value) => println (key + " -> " + value)
}
}
}
输出:
S -> Scala
J -> Java
C -> Csharp
Scala
S -> Scala
P -> Perl
J -> Java
C -> Csharp
从 HashMap 中删除一个元素:
创建一个 HashMap,而不是使用-符号执行删除一个元素。下面是从 HashMap 中删除元素的示例。
// Scala program to removing Element HashMap
import scala.collection.mutable.HashMap
// Creating object
object Geeks
{
// Main method
def main(args: Array[String])
{
// Creating HashMap
var hashMap = HashMap("C"->"Csharp", "S"->"Scala", "J"->"Java")
// Iterating elements
hashMap.foreach
{
case (key, value) => println (key + " -> " + value)
}
// Removing an element
hashMap -= "C"
println("After Removing")
hashMap.foreach
{
case (key, value) => println (key + " -> " + value)
}
}
}
输出:
S -> Scala
J -> Java
C -> Csharp
After Removing
S -> Scala
J -> Java