scala学习笔记3 映射和元组

映射和元组

1、scala中,映射是对偶的集合,可以看做将键映射到值的函数,区别在于函数一般用于计算,而映射只做查询。

val scores=Map("Alice"->10,"Bob"->3,"Cindy"->8)  不可变的映射

val scores=new scala.collection.mutable.HashMap("Alice"->10,"Bob"->3,"Cindy"->8)  可变的映射

val scores=new scala.collection.mutable.HashMap(String,Int)       无初始值的可变映射

2、获取映射中的值

val bobsScore=scores("Bob")       

检查映射中是否存在指定的健:scores.contains("bob")或者scores.getOrElse("Bob",0)如果包含"Bob",则返回值,否则返回0

3、更新增加映射中的值

scores("bob")=10

scores +=("fred"->1)

scores -="Alice"

但是对于不可变的映射,上面的就不能使用。但是我们可以用其为新的映射赋值。

val newsScores=scores+("Bob"->10,"Fred"->7)

4、迭代映射

for((k,v)<-映射) 处理v,k :比如说交换键和值的位置

for((k,v)<-映射) yield (v,k)

如果只需要访问健或者值:

scores.KeySet   scores.values

5、元组的概念

元组是不同类型的值的聚集

val t=(1,1.34,"res")  通过val s=t._3 访问

val (f,s,th)=t    //将t的值分别赋给f,s,th

元组可以用于函数需要返回不止一个值的情况下 "New York".partition(_.isUpper)

返回

(String, String) = (NY,ew ork)


使用元组的原因是能把多个值绑在一起,以便它们能够一起被处理,通常利用zip方法。

{ val symbols=Array("<","-",">")

     | val counts=Array(2,10,2)

     | val pairs=symbols.zip(counts)

     | for((s,n)<- pairs) Console.print(s*n)

     | }




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值