自学内容网 自学内容网

Scala 中的Map 映射

类型: 不可变
操作: 添加元素,删除元素,查询元素,修改元素,遍历

一、 不可变的:

object Test10 {
  def main(args: Array[String]): Unit = {
    //不可变
    val map1=Map("鄂"->"湖北省","湘"->"湖南省","青"->"青岛市")
  }
}

1) 添加元素


    val map2=map1+("豫"->"河南省")
//    如果key存在,就是修改
//    val map3=map1+("鄂")

2)删除元素:只需要提供key

    val map3=map1-"鄂"

3)查询元素:

      3.1 get 方法。输入key,如果找到,就返回包装数据,如果没有找到,就返回None

       3.2 直接: map(key名)。如果key不存在,就会报错!!!!

    val rs =map1.get("鄂")
    println(rs.get)
    println(map1("鄂1"))

4)修改元素:把青-> 青岛,改成青->青岛市

    //    map1("青")="青岛市"
    val map4=map1+("青"->"青岛市")

5)遍历

     5.1 for

     5.2 foreach

    for ((key,value)<-map1){
      println(s"$key 是 ${value}的简称")
    }

    map1.foreach{case (key,value)=>{
      println(s"$key 是 ${value}的简称")
    }}

类型: 可变

操作: 添加元素,删除元素,查询元素,修改元素,遍历

二、可变的:

//可变的Map,要导入包
import scala.collection.mutable

object Test10_1 {
  def main(args: Array[String]): Unit = {
    //可变Map
    val map1=mutable.Map("鄂"->"湖北省","湘"->"湖南省","青"->"青岛市")
  }
}

1)添加元素


    map1 += ("豫"->"河南省")

2) 删除元素:只需要提供key


//    map1-="鄂"

3)查询元素

      3.1 get 方法。输入key,如果找到,就返回包装数据,如果没有找到,就返回None

       3.2 直接: map(key名)。如果key不存在,就会报错!!!!

    //    val rs =map1.get("鄂")
    //    println(rs.get)
    println(map1("鄂"))

4) 修改元素:把青-> 青岛,改成青->青岛市

map1("青")="青岛市"

5) 遍历

       5.1 for

       5.2 foreach

    for ((key,value) <- map1){
      println(s"$key 是 ${value}的简称")
    }

    map1.foreach { case (key,value) => {
      println(s"$key 是 ${value}的简称")
    }}


原文地址:https://blog.csdn.net/2401_87129058/article/details/143685933

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!