映射是一种特殊的集合类型,它以键值对的形式存储数据。这些也称为哈希表。用于提取值的键应该是唯一的。
您可以在Scala中创建可变的和不变的映射。不可变版本是内置的,但可变的映射创建需要显式导入。
语法:
val mapName = Map("key1"->"value1", ...)现在让我们看看如何在Scala中创建可变映射?
object myObject {
def main(args: Array[String]) {
val cars = Map("Honda" -> "Amaze", "Suzuki" -> "Baleno", "Audi" -> "R8", "BMW" -> "Z4") println(cars)
}
}输出结果
Map(Honda -> Amaze, Suzuki -> Baleno, Audi -> R8, BMW -> Z4)
通常,使用以上创建映射的方式。但是有时为了使代码更清晰,使用了另一种声明映射的方法。
val cars = Map(
("Honda" -> "Amaze"),
("Suzuki" -> "Baleno"),
("Audi" -> "R8"),
("BMW" -> "Z4")
)当映射创建为键->值对时,也可以使用此方法,因此将对包围在括号内。两种样式均有效,并且可以使用任何样式。
当我们需要在声明之后向map添加更多元素时,需要可变映射。
要创建可变映射,请使用scala.collection.mutable.Map或将其导入以创建不可变映射。
语法:
var map_name = collection.mutable.Map( "key1"->"value1", "key2"->"value2", ... )
在Scala中创建可变映射的程序
object myObject {
def main(args: Array[String]) {
val cars = collection.mutable.Map(
"Honda" -> "Amaze",
"Suzuki" -> "Baleno",
"Audi" -> "R8"
)
println(cars)
println("Adding new elements to the map")
cars += ("BMW" -> "Z4")
println(cars)
}
}输出:
HashMap(Audi -> R8, Honda -> Amaze, Suzuki -> Baleno) Adding new elements to the map HashMap(BMW -> Z4, Audi -> R8, Honda -> Amaze, Suzuki -> Baleno)
您可以先创建一个空的可变映射,然后使用+ =向其添加元素。
object myObject {
def main(args: Array[String]) {
val cars = collection.mutable.Map[String, String]() println(cars)
println("Adding new elements to the map")
cars += ("BMW" -> "Z4") println(cars)
}
}输出:
HashMap() Adding new elements to the map HashMap(BMW -> Z4)