第75讲:模式匹配下的For循环
来源:互联网 发布:截拳道软件下载 编辑:程序博客网 时间:2024/06/06 19:10
For 循环中的模式匹配,可以过滤数据,数据处理方面使用。
for(i<-List(1,2,3,4,5)) println(i) //实际上调用的是foreach for(index@"Flink" <- List("hadoop","spark","Flink")) println(index)//为参数起了个别名进行匹配 for((language,"hadoop") <- Set("scala"->"spark","java"->"hadoop")) println(language)//给一个参数初始化进行匹配 for((k,v:Int) <- List(("spark",5),("hadoop","bigdata"))) println(v) //通过类型进行匹配
运行结果为:
1
2
3
4
5
Flink
java
5
下面逐一进行分析。
第一个例子, for(i<-List(1,2,3,4,5)) println(i) 其实是foreach语句,代码如下:
@inline override final def foreach[B](f: A => B) { var these = this while (!these.isEmpty) { f(these.head) these = these.tail } }
把List的所有变量 不加过滤的给 变量 i
第二个,for(index@”Flink” <- List(“hadoop”,”spark”,”Flink”)) println(index) ,就是匹配数据中含有 Flink 的数据,并将打印出来
第三个, for((language,”hadoop”) <- Set(“scala”->”spark”,”java”->”hadoop”)) ,匹配第2个元素为 hadoop的的key值
第四个, for((k,v:Int) <- List((“spark”,5),(“hadoop”,”bigdata”))) println(v) ,匹配第二个元素的数据类型为 Int的tuple,并将该tutple 的第一个元素打印出来
参考资料:
百度网盘:http://pan.baidu.com/share/home?uk=4013289088#category/type=0
微信号:18610086859
DT大数据微信公众账号:DT_Spark
DT大数据梦工厂交流群:462923555/418110145/437123764
0 0
- 第75讲:模式匹配下的For循环
- scala 第75讲:模式匹配下的For循环
- 第75讲:模式匹配下的For循环学习笔记
- Scala深入浅出进阶经典 第75讲:模式匹配下的For循环
- Scala模式匹配下的for循环
- Scala 模式匹配下的for循环
- 第76讲:模式匹配下的赋值语句
- 第76讲:模式匹配下的赋值语句
- scala 第76讲:模式匹配下的赋值语句
- 第76讲:模式匹配下的赋值语句学习笔记
- 第77讲:模式匹配下的提取器动手构造实战学习笔记
- scala 第77讲:模式匹配下的提取器动手构造实战
- 第77讲:模式匹配下的提取器过程分析
- Scala深入浅出进阶经典 第76讲:模式匹配下的赋值语句
- Scala深入浅出进阶经典 第77讲:模式匹配下的提取器动手构造实战
- #笔记#圣思园 JavaSE 第57讲——增强的for循环、自动装箱拆箱
- 第74讲:从Spark源码的角度思考Scala中的模式匹配学习笔记
- 第74讲:从Spark源码的角度思考Scala中的模式匹配
- [Leetcode 47, Hard] Permutations II
- hd1016 Prime Ring Problem
- poj 2308 Dearboy's Puzzle 连连看
- java.lang.NoClassDefFoundError: javax/persistence/EntityListeners 错误
- Android 判断当前线程是否是主线程的两种方法
- 第75讲:模式匹配下的For循环
- Eclipse中的java、xml代码提示功能设置
- 磁盘 IO 性能 调优 多线程
- 杭电2097 sky数水过
- org-reveal 排版布局
- OpenGL: 渲染管线理论
- POJ 1741 Tree + POJ 1987 Distance Statistics【树的点分治】
- hbase 列族优化 ,shell 管理集群
- 类的继承