Scala:Scala的Map集合

Scala的 Map 概述 

Map(映射)是一种可迭代的键值对(Key/Value)结构,所有值都可以通过键来获取,Map中的键都是唯一的。定义Map时,需要为键值对定义类型。 

————Scala 的 Map 的定义————

在Java中,Map是以键值对(K,V)的形式存在的,例如(Key1,V1)。在Scala中,Map 集合同样是以键值对的方式存在的,应用非常广泛。

————Scala 的 Map 的创建————

在Scala中,有两种创建Map的方式,分别是Map(k1->v1,k2->v2,..) 和 Map((k1,v1),(k2,v2),..)。

Map(k1->v1,k2->v2,..) 中的 k1->v1 表示第一个元素,k2->v2表示第二个元素。

第二种方式 Map((k1,v1),(k2,v2),..)是通过元组的方式定义的。

———— Scala 的 Map 的分类————

Scala的Map有两种类型,即可变的和不可变的。上述创建Map的方式是不可变的,如果想创建可变的Map,需要导人指定的包,创建方式与不可变的方式相同。

Scala 的可变 Map常用操作

Scala的可变Map常用操作有增加、删除、修、查询等。

372b4fc4dbeb4446887ffa8d40293053.jpg

 Scala 的不可变Map常用操作

由于是不可变Map,所以不可以进行更新操作。添加、删除、查询和遍历操作与之前介绍的操作方法相同。

20909f352c834bcdbbe53bb14f2f7ff8.jpg

import scala.collection.mutable
object t14 {
  def main(args: Array[String]): Unit = {
    //创建  1.Map("苹果" -> 9,"香蕉" -> 8)  2.Map(("苹果",9),("香蕉",8))
 
 
    //不可变Map
    val f1:Map[String,Int] = Map("苹果" -> 9,"香蕉" -> 8)   //:Map[String,Int]可省略
    //1.添加
    val f1_1 = f1 + ("梨" -> 4)
    println(f1_1)
 
 
 
 
    //可变Map
    val f2 = mutable.Map("苹果" -> 9,"香蕉" -> 8)
    //1.添加  用+=或put
    f2 += ("梨" -> 4)
    f2.put("葡萄",11)
    println(f2)
    //2.查询
    //2.1
    val rs = f2.get("梨") //找不到,返回None  它得到的是一个包装对象,具体的内容需要再次调用get  re.get
    //2.2
    val rs1 = f2("梨")  //找不到,直接报错
    println(rs.get,rs1)
    //3.删除
    f2.remove("苹果")
    f2 -= "香蕉"
    println(f2)
    //4.遍历
    //4.1 for循环
    for((k,v) <- f2){
      println(s"${k}的价格是:${v}")
    }
    println("-"*15)
    //4.2 foreach
    f2.foreach{case (key,value)=>
      println(s"${key}的价格是:${value}")
    }
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值