映射是将其元素存储为键值对(例如字典)的集合。同样,称为哈希表的映射具有唯一的键,这些键用于检索与键有关的值。
map可以有两种:
可变和不可变,对于不可变变量,初始化后不能在程序中更改对象。默认情况下,映射是不可变的,要使用可变映射,您必须使用scala.collection.mutable.Map类。
定义可变和不可变的Scala映射有不同的语法,
创建不可变映射的语法:
map_name = Map(key_1 -> value_1, key_2 -> value_2, key_3 -> value_3)
创建可变映射的语法:
map_name = Scala.collection.mutable.Map (key_1 -> value_1, key_2 -> value_2, key_3 -> value_3)
对于Scala中的map,Scalamap上有三个基本操作:
keys:为map的所有键返回一个可迭代的。语法:map_name.keys
values:返回map所有值的可迭代值。语法:map_name.values
isEmpty:如果映射为空,则返回true,否则返回false。
在map上应用的其他一些重要方法...
Scala编程语言允许您创建一个不包含任何值对的空映射。根据用户要求,可以向其中添加新元素。
语法:
var map_name = scala.collection.mutable.Map[datatype1 , datatype2]()
示例
object MyClass { def main(args: Array[String]) { var map = scala.collection.mutable.Map[Int, String]() println("The map created = "+map) } }
输出结果
The map created = Map()
在Scala映射中,有一个选项可以添加新的键值对。+ =运算符用于向数组添加新值。
语法:
var map_name += (key1 , value1)
示例
object MyClass { def main(args: Array[String]) { var map = scala.collection.mutable.Map[Int, String]() map += (1->"Akash") map += (2->"Ram", 3->"Kiran") // adding multiple values. println("The map created = "+map) } }
输出结果
The map created = Map(2 -> Ram, 1 -> Akash, 3 -> Kiran)
默认情况下,Scala映射的值无法更改,因为默认情况下它是不可变的。但是您可以更改可变的Scala映射的值。使用其键并分配新值。
语法:
map_name.(key) = value
示例
object MyClass { def main(args: Array[String]) { var map = scala.collection.mutable.Map[Int, String]() map += (1->"Akash") // adding multiple values. map += (2->"Ram", 3->"Kiran") println("The map created = "+map) map(2) = "Raju" println("The map after updating values = "+map) } }
输出结果
The map created = Map(2 -> Ram, 1 -> Akash, 3 -> Kiran) The map after updating values = Map(2 -> Raju, 1 -> Akash, 3 -> Kiran)
Scala映射的任何值都可以使用其对应的键进行访问。
语法:
map_name.(key)