Dt大数据梦工厂王家林老师 Scala实战详解之第6讲 Map、Tuple、Zip实战解析
来源:互联网 发布:udp编程bind函数的作用 编辑:程序博客网 时间:2024/05/16 10:19
package com.dt.scalaInAction.demo_006/** * Map、Tuple、Zip实战解析 */object Map_Tuple { def main(args: Array[String]): Unit = { //静态定义map集合 注意这个map是不可变的 immutable var map = Map("book"->23,"gun"->21,"ipad"->20) //var map: Map[String, Int] //通过模式匹配 做变换 注意此操作不影响原来的map集合 生成新的map集合 因为这种map是immutable类型的 var map1 = for((k, v) <- map ) yield (k, v * 0.9) println(map) // Map(book -> 23, gun -> 21, ipad -> 20) println(map1) // Map(book -> 20.7, gun -> 18.900000000000002, ipad -> 18.0) //定义可修改的map集合 mutable val scores = scala.collection.mutable.Map("Scala"->7, "Spark"->8, "Hadoop"->9) //取值 val hadoop = scores.get("Hadoop") //Some(9) println("hadoop="+hadoop) //getOrElse 取key为x的值 若不存在返回函数中第二个值 val x = scores.getOrElse("x", 1) //1 println("x="+x) //增加元素 scores += ("R"->9) //Map(Hadoop -> 9, R -> 9, Spark -> 8, Scala -> 7) //删除元素 scores -= "Hadoop" //Map(R -> 9, Spark -> 8, Scala -> 7) //按照key的然后顺序排序 val scoreMap = scala.collection.immutable.SortedMap("Scala"->7, "Spark"->8, "Hadoop"->9) //Map(Hadoop -> 9, Scala -> 7, Spark -> 8) /** * 元祖 */ //定义元祖 val tuple = (1, 2, 3, "Spark", "Scala") //Map(Hadoop -> 9, Scala -> 7, Spark -> 8) //通过下标取值 (是从1开始取值) val thrid = tuple._3 //3 println("thrid="+thrid) /** * 如何接收tuple中的值 */ val (one, two, three, four, fire) = tuple println("one="+one+" two="+two+" three="+three+" four="+four+" fire="+fire) //忽略接收 val (j, k, _, _, _) = tuple println("j="+j+" k="+k) //def partition(p: Char => Boolean): (String, String) val (a, b) = "Spark Hadoop".partition(_.isUpper) println("a="+a+" b="+b) //a=SH b=park adoop /* * zip操作 */ val symbols = Array("[", "-", "]") val counts = Array(2, 5, 2) val pairs = symbols.zip(counts) //val pairs: Array[(String, Int)] for (e <- pairs) println(e) //([,2) (-,5) (],2) for ((x, y) <- pairs) print(x*y) //[[-----]] }}
以上内容是从王家林老师DT大数据课程第6讲的学习笔记和个人整理。
DT大数据微信公众账号:DT_Spark
王家林老师QQ:1740415547
王家林老师微信号:18610086859
第6讲视频网站地址:http://pan.baidu.com/s/1ntnCdzN
0 0
- Dt大数据梦工厂王家林老师 Scala实战详解之第6讲 Map、Tuple、Zip实战解析
- Dt大数据梦工厂王家林老师 Scala实战详解之第3讲 Tuple、Array、Map与文件操作入门实战
- Dt大数据梦工厂王家林老师 Scala实战详解之第5讲 Scala数组操作实战详解
- Dt大数据梦工厂王家林老师 Scala实战详解之第9讲 Scala的内部类实战详解
- Dt大数据梦工厂王家林老师 Scala实战详解之第11讲 Scala中的apply实战详解
- Dt大数据梦工厂王家林老师 Scala实战详解之第13讲 抽象类、抽象字段、抽象方法
- Dt大数据梦工厂王家林老师 Scala实战详解之第7讲 Scala类的属性和对象私有字段实战详解
- Dt大数据梦工厂王家林老师 Scala实战详解之第8讲 Scala主构造器、私有构造器、构造器重载实战详解
- Dt大数据梦工厂王家林老师 Scala实战详解之第10讲 Scala单例对象、伴生对象实战详解
- Dt大数据梦工厂王家林老师 Scala实战详解之 第2讲Scala函数定义,流程控制,异常处理入门实战
- Dt大数据梦工厂王家林老师 Scala实战详解之第12讲 Scala中的继承:超类的构造、重写字段、重写方法代码实战
- Dt大数据梦工厂王家林老师 Scala实战详解之第14讲 Scala中作为接口的trait、在对象中混入trait代码实战
- Dt大数据梦工厂王家林老师 Scala实战详解之第4讲 For与Function进阶实战、Lazy的使用
- Dt大数据梦工厂王家林老师 Scala实战详解之第15讲 Scala多重继承、多重继承构造器执行顺序及AOP实现
- Dt大数据梦工厂王家林老师 Scala实战详解之第16讲 Scala中包的定义、包对象、包的引用、包的隐式引用
- Dt大数据梦工厂王家林老师 Scala实战详解之第17讲 Scala中包、类、对象、成员、伴生类、伴生对象访问权限
- 王家林亲授《DT大数据梦工厂》大数据实战视频 Scala 深入浅出实战经典 - 第71讲
- 王家林亲传《DT大数据梦工厂》第三讲Tuple、Array、Map与文件操作入门实战
- Dt大数据梦工厂王家林老师 Scala实战详解之第4讲 For与Function进阶实战、Lazy的使用
- groovy获取camel风格字符窜
- 我的2年苦逼狗血相亲经历(3)
- Dt大数据梦工厂王家林老师 Scala实战详解之第5讲 Scala数组操作实战详解
- html表单
- Dt大数据梦工厂王家林老师 Scala实战详解之第6讲 Map、Tuple、Zip实战解析
- pushViewController 与 presentViewController 与 TabBarController 之间切换VC
- flume入门教程
- Dt大数据梦工厂王家林老师 Scala实战详解之第7讲 Scala类的属性和对象私有字段实战详解
- 表格属性
- XHTML表单日记
- Dt大数据梦工厂王家林老师 Scala实战详解之第8讲 Scala主构造器、私有构造器、构造器重载实战详解
- Dt大数据梦工厂王家林老师 Scala实战详解之第9讲 Scala的内部类实战详解
- 中缀表达式转换成前缀表达式和后缀表达式的极其简单方法