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}")

    }

  }

}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值