首页 > 其他 > 详细

map

时间:2019-10-10 18:36:58      阅读:93      评论:0      收藏:0      [点我收藏+]

Map(映射)是一种可迭代的键值对(key/value)结构。

Map 中的键都是唯一的。所有的值都可以通过键来获取。

Map 有两种类型,可变与不可变 ,默认情况下 Scala 使用不可变 Map。

使用可变集合,你需要显式的引入 import scala.collection.mutable.Map

1.map

var A:Map[Char,Int]=Map()

A: Map[Char,Int] = Map()


val colors=Map("red"->"#FF0000","azure"->"#F0FFFF")

colors: scala.collection.immutable.Map[java.lang.String,java.lang.String] = Map("red" -> "#FF0000", "azure" -> "#F0FFFF")

2. 添加key-value,用+

// A += ("I" -> 1) 错误
A += (‘I‘ -> 1)

  

3. keys 返回 Map 所有的键(key)

  values 返回 Map 所有的值(value)

  isEmpty 在 Map 为空时返回true

object Test {
   def main(args: Array[String]) {

       val colors=Map("red" -> "#FF0000","azure" -> "#F0FFFF","peru" -> "#CD853F")
       val nums:Map[Int,Int]=Map()
       println("colors中的键为:"+ colors.keys)
       println("colors中的值为:"+ colors.values)
       println("colors是否为空:"+ colors.isEmpty)
       println("nums是否为空:"+ nums.isEmpty)

    


}}
Test.main(Array())

colors中的键为:Set(red, azure, peru)
colors中的值为:MapLike(#FF0000, #F0FFFF, #CD853F)
colors是否为空:false
nums是否为空:true
defined object Test

  

 

4. Map 合并 ++ 或 Map.++()

object Test {
   def main(args: Array[String]) {
      val colors1 = Map("red" -> "#FF0000",
                        "azure" -> "#F0FFFF",
                        "peru" -> "#CD853F")
      val colors2 = Map("blue" -> "#0033FF",
                        "yellow" -> "#FFFF00",
                        "red" -> "#FF0000")

      //  ++ 作为运算符
      var colors = colors1 ++ colors2
      println( "colors1 ++ colors2 : " + colors )

      //  ++ 作为方法
      colors = colors1.++(colors2)
      println( "colors1.++(colors2) : " + colors )

   }
}
Test.main(Array())

colors1 ++ colors2 : Map(blue -> #0033FF, azure -> #F0FFFF, peru -> #CD853F, yellow -> #FFFF00, red -> #FF0000)
colors1.++(colors2) : Map(blue -> #0033FF, azure -> #F0FFFF, peru -> #CD853F, yellow -> #FFFF00, red -> #FF0000)
defined object Test

  

5. 输出 Map 的 keys 和 values------ sites.keys.foreach

object Test {
   def main(args: Array[String]) {
      val sites = Map("runoob" -> "http://www.runoob.com",
                       "baidu" -> "http://www.baidu.com",
                       "taobao" -> "http://www.taobao.com")


       sites.keys.foreach{i=>
                             println("kes="+i)
                             println("values="+sites(i))



}


}}
Test.main(Array())

kes=runoob
values=http://www.runoob.com
kes=baidu
values=http://www.baidu.com
kes=taobao
values=http://www.taobao.com
defined object Test

  

6.查看 Map 中是否存在指定的 Key

object Test {
   def main(args: Array[String]) {
      val sites = Map("runoob" -> "http://www.runoob.com",
                       "baidu" -> "http://www.baidu.com",
                       "taobao" -> "http://www.taobao.com")

      if(sites.contains("runoob")){
                 println("runoob键存在。对应得值为:"+sites("runoob"))
      }else{
                 println("runoob键不存在")         
      }



}}
Test.main(Array())

runoob键存在。对应得值为:http://www.runoob.com
defined object Test

  

map

原文:https://www.cnblogs.com/hapyygril/p/11649712.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!