江湖戏子的专栏

江湖戏子的戏子江湖

Scala坑四(映射和元组)

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






阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hhl2046/article/details/49904615
个人分类: Scala深坑
上一篇Scala坑三(数组相关操作)
下一篇Scala坑五(类和对象)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭