如何在Scala中创建map映射?

Scala | 创建映射

映射是一种特殊的集合类型,它以键值对的形式存储数据。这些也称为哈希表。用于提取值的键应该是唯一的。

您可以在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")
)

当映射创建为键->值对时,也可以使用此方法,因此将对包围在括号内。两种样式均有效,并且可以使用任何样式。

Scala可变映射

当我们需要在声明之后向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)