关闭

Scala坑四(映射和元组)

748人阅读 评论(0) 收藏 举报
分类:

1.摘要

创建、查询和遍历映射都有十分易用的语法

要从可变和不可变的映射中选择

默认情况下得到的是一个哈希映射,不过可以指明要树形映射

可以再Scala映射和Java映射之间来回切换

元组可以用来聚集值

2.构造映射

映射是对偶的集合,即两个值构成的组

不变映射

val s = Map("A" -> 10, "b" -> 12, "c" ->  13) 一个不可变的Map[String,Int]

一个空的映射

val s = new scala.collection.mutale.HashMap[String,Int]

3.获取映射中的值

返回的是一个Option类

val b = s("b")

如果没有值就会抛出异常

val b = s.getOrElse("b",0) 没有值就返回0

4.更新映射中的值

s("b") = 23

若是可变的map 使用 s("d") = 98 增加新的对偶

s += ("b" -> 32,"c" -> 43)

移除  s -= “a”

5.迭代映射

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

s.keysSet 得到的是 set("a","b","v")的集合

for(v <- s.values) println(v) 输出的是map里面的value

for( ( k, v )<- 映射) yieid ( v , k ) 翻转映射

6.元组

元组下标从1开始

映射是键/值对偶集合,对偶是元组的最简单形态 , 元组是不同类型的值得聚集

如 val t =(1,2.1, "haha") Tuple3[Int,Double,Java.lang,String]

用 ._1  ._2来访问元组

val second = t._1

使用匹配模式来获取元组的组元   val (first,second,thrid) = t

7.拉链操作

把多个值绑在一起,一起处理,用zip方法完成

val sys = Array("<","-",">")

val counts = Array(2,10,2)

var pairs = sys.zip(counts)得到 Array(("<",2), ("-",10),(">",2))






0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:88022次
    • 积分:1734
    • 等级:
    • 排名:千里之外
    • 原创:93篇
    • 转载:24篇
    • 译文:0篇
    • 评论:7条
    最新评论