Spark学习使用笔记 - Scala篇(3)- 映射,元组
2016-07-29 15:05
423 查看
映射:
def constructMap = { //构造一个不可变Map[String Int] val scores = Map("Alice" -> 10, "aaa" -> 9, "bbb" -> 5) //构造一个可变Map[String,Int] val mscores1 = scala.collection.mutable.Map("Alice" -> 10, "aaa" -> 9, "bbb" -> 5) val mscores2 = scala.collection.mutable.Map(("Alice", 10), ("aaa", 9), ("bbb", 8)) } def curdMap = { val scores = scala.collection.mutable.Map("Alice" -> 10, "aaa" -> 9, "bbb" -> 5) println(scores.mkString("<", ",", ">"))//输出:<bbb -> 5,aaa -> 9,Alice -> 10> //val bobScore = scores("Bob") //找不到抛异常 val aliceScore = scores("Alice") val bobScore = scores.getOrElse("Bob", 6) println(aliceScore)//输出:10 println(bobScore)//输出:6 scores("Alice") = 9 println(scores("Alice"))//输出:9 scores += ("Bob" -> 7) println(scores.mkString("<", ",", ">"))//输出:<bbb -> 5,Bob -> 7,aaa -> 9,Alice -> 9> scores -= "Bob" println(scores.mkString("<", ",", ">"))//输出:<bbb -> 5,aaa -> 9,Alice -> 9> } def traverseMap = { val mapping = Map("Alice" -> 10, "aaa" -> 9, "bbb" -> 5) val a = for ((k, v) <- mapping) yield k + ":" + v println(a)//输出:List(Alice:10, aaa:9, bbb:5) val b = for (k <- mapping.keys) yield k println(b)//输出:Set(Alice, aaa, bbb) val c = for (v <- mapping.values) yield v println(c)//输出:List(10, 9, 5) } def sortedMap = { //scala本身只有不可变排序Map(树形Map) val mapping = SortedMap("Alice" -> 10, "aaa" -> 9, "bbb" -> 5) println(mapping.mkString("<", ",", ">"))//输出:<Alice -> 10,aaa -> 9,bbb -> 5> }
元组:
def test = { val tuple1 = (1, 2, 3, 9.0, "hello") val element1 = tuple1._1 println(element1)//输出:1 val (_, second, third, _, _) = tuple1 println(second)//输出:2 println(third)//输出:3 }
链式操作:
def test = { val key = Array("zhx", "dick", "hash") val value = Array(1, 2, 3) val keyvalue = key.zip(value) val map = keyvalue.toMap println(map.mkString("<", ",", ">"))//输出:<zhx -> 1,dick -> 2,hash -> 3> }
相关文章推荐
- Spark学习使用笔记 - Scala篇(3)- 映射,元组
- Spark学习使用笔记 - Scala篇(2)- 数组
- scala学习笔记3 映射和元组
- 快学Scala学习笔记及习题解答(1-4基础、控制、函数、数组、元组和映射)
- Spark学习使用笔记 - Scala篇(4)- 对象、包
- Scala学习笔记02【数组、列表、元组、集合和映射】
- Spark学习使用笔记 - Scala篇(3)- 对象
- Spark学习使用笔记 - Scala篇(1)
- Spark学习使用笔记 - Scala篇(3)- 对象
- maven学习笔记:使用eclipse的maven插件创建scala_spark项目
- Scala学习笔记-映射和元组
- Spark学习使用笔记 - Scala篇(5)- 继承
- Spark学习使用笔记 - Scala篇(1)
- Scala中隐式参数与隐式转换的联合使用实战详解及其在Spark中的应用源码解析之Scala学习笔记-51
- Spark学习使用笔记 - Scala篇(2)- 数组
- Scala中泛型类、泛型函数、泛型在Spark中的广泛应用之Scala学习笔记-33
- 第42讲:Scala中泛型类、泛型函数、泛型在Spark中的广泛应用学习笔记
- 第87讲:Scala中F使用For表达式做查询学习笔记
- Scala中类型变量Bounds代码实战及其在Spark中的应用源码解析之Scala学习笔记-34
- 第45讲:Scala中Context Bounds代码实战及其在Spark中的应用源码解析学习笔记