Chapter04 映射和元组
来源:互联网 发布:一机一码视频破解软件 编辑:程序博客网 时间:2024/05/23 01:16
1. 构造映射
映射是键值对偶的集合,映射只做查询。
构造一个不可变的Map[String, Int]。
val scores = Map("Alice" -> 10, "Aaron" -> 20, "Bob" -> 13) // 这两种方法等价 val scores = Map(("Alice", 10), ("Aaron", 20), ("Bob", 13))
- 构造一个可变的映射。
val scores = scala.collection.mutable.Map("Alice" -> 10, "Aaron" -> 20, "Bob" -> 13)
- 构造一个空的映射。
// chapter01 中提到如果没有初始化是要用new函数的 val scores = new scala.collection.mutable.HashMap[String, Int]
2. 获取映射中的值
- 若映射不包含请求中使用的键,要检查有某个键要用contains方法,组合语句是getOrElse。
val Bobscore = scores("Bob") // 获取“Bob"对应的值 val bobsocre = if (scores.contains("BoB")) scores("Bob") else 0 val bobsocre = scores.getOrElse("Bob", 0) // 与上面的第二条语句等价
3. 更新键中的值
- 映射可变
socres("Bob") = 10 // 更新键“Bob”值 scores("Fred") = 7 // 添加新键值对 scores += ("Bob" -> 10, "Fred" -> 7) // +=可以添加多个 socres -= "Alice" // 移除某个键值对
- 若映射是不可变的,可以用同样的方法获取一个包含所需要的更新的新映射。
val newScores = scores + ("Bob" -> , "Fred" -> 7)
- 还可以将scores定义为var直接更新var变量。
var scores = Map("Alice" -> 10, "Aaron" -> 20, "Bob" -> 13) scores = scores + ("Bob" -> 13, "Fred" -> 7) scores = scores - "Alice" // 移除某个键值对
4. 迭代映射
- 用
for ((k, v) <- 映射)
就可以遍历所有键值对。若只需访问键或值,用values
和keySet
方法。
for ((k, v) <- scores) println(k + v) for (k <- scores.keySet) println(k) for (v <- scores.values) println(v)
5. 已排序映射
- 要的的一个不可变的树形映射而不是默认的哈希映射的话,可以用:
val scores = scala.collection.immutable.SortedMap("Alice" -> 10, "Aaron" -> 20, "Bob" -> 13)
- scala中可变的树形映射还没有
6. 元组
元组(tuple
['tjup(ə)l]
)是不同类型的值的聚集,映射是键值对偶的集合,对偶是元组的最简单形态。访问元组的组元,用
_1、_2、_3
方法,元组下表是从1开始。
val t = (1, 2.2323, "Bob") val second = t._2 val second = t _2//点也可以用空格来表示
- 用模式匹配来获取元组的组元,不需要的组元用
_
表示。
val (first, second, third) = t val (first, second, _) = t
- 元组可用于函数返回多个值得情况。
7. 拉链操作
- 元组就是把多个值绑定在一起,可以用
zip
操作,toMap
方法将对偶转成映射。
val name = Array("Bob", "Fred") val scores = Array(2, 4) val pairs = name.zip(counts) // 得到元组 val score = pairs.toMap // 转成映射(哈希表)
【待续】
1 0
- Chapter04 映射和元组
- Scala映射和元组
- Scala 映射和元组
- Scala映射和元组
- scala映射和元组
- Scala映射和元组
- Scala 映射和元组
- Scala元组和映射
- scala------数组映射和元组
- Scala学习笔记-映射和元组
- Scala学习(四)---映射和元组
- Step into Scala - 10 - 映射和元组
- scala学习第四章 映射和元组
- Scala坑四(映射和元组)
- 快学Scala第4章--映射和元组
- scala学习笔记3 映射和元组
- 快学Scala(4) 映射和元组
- Scala 学习(三)--- 映射和元组
- Chapter03 数组相关操作
- (8)python字符和数字初步接触
- Java类的访问权限
- Java中的堆和栈的区别
- 注意不可将控件的setTag方法与viewWithTag方法混淆
- Chapter04 映射和元组
- spark测试集群搭建
- 获取当前被按下的控件的方法(setTag)、获取控件子视图的方法(viewWithTag)
- 创业,一切从头开始
- 结构型模式之桥接模式
- NSPredicate
- ffmepg学习
- C51 曼彻斯特译码程序
- 安森美用于助听器的高能效的单芯片方案