自学内容网 自学内容网

Scala的Map集合

Map 有两种类型,可变与不可变,区别在于可变对象可以修改它,而不可变对象不可以。

默认情况下 Scala 使用不可变 Map。如果你需要使用可变集合,你需要显式的引入 import scala.collection.mutable.Map 类

在 Scala 中 你可以同时使用可变与不可变 Map,不可变的直接使用 Map,可变的使用 mutable.Map。

Map常用操作有增加,删除,修改,查询

不可变Map

添加:如果key存在,就是修改

删除。只需要提供key

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

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

import scala.collection.mutable
object Test25 {
  def main(args: Array[String]): Unit = {
    // 不可变Map
//    val stu1:Map[String,Int] = Map("alice" -> 90, "bob" -> 85)
//
//    // 1.添加
//    val stu_1 = stu1 + ("小花"->110)
//    println(stu_1)

    //可变Map
    val stu2 = mutable.Map("alice" -> 90, "bob" -> 85)
    // 1.添加
    stu2 += ("小花" -> 110)
    stu2.put("小明", 99)

    // 2.查询
    // 2.1
    val rs = stu2.get("小花") //找不到,返回None
    //他得到是一个包装对象,具体的内容需要再次调用get。rs.get
    // 2.2
    val rs1 = stu2("小花") // 找不到,直接报错
    println(rs.get,rs1)

    // 3.删除
    stu2.remove("alice")
    stu2 -= "bob"

    // 4. 遍历
    // 4.1 for 循环
    for((k,v) <- stu2) {
      println(s"姓名:${k},分数:${v}")
    }
    println("-"*15)
    // 4.2 foreach
    stu2.foreach{case (key,value)=>
    println(s"姓名:${key},分数:${value}")
    }

    println(stu2)

//    val stu2:Map[String,Int] = Map("apple" -> 5,"banana" -> 6,"peach" -> 8)
//    val stu2_1 = stu2 + ("pear" -> 10)
//    println(stu2_1)
  }

}


原文地址:https://blog.csdn.net/2401_82368706/article/details/143713597

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