示例代码:
object For_Advanced {
def main(args: Array[String]): Unit = {
/**
* for循环内部调用的源码其实是:
*
* @inline override final
* def foreach[B](f: A=> B){
* var these = this
* while (!these.isEmpty){
* f(these.head)
* these = these.tail
* }
* }
*/
for(i <- List(1,2,3,4,5)){println(i)}
//变量绑定,index绑定了Flink,相当于给Flink起了个别名叫index。在这里会打印出Flink
for(index@"Flink" <- List("Hadoop","Spark","Flink")){println(index)}
//tuple元组,哪个元组符合第二个元素是Hadoop的,我们就将其过滤出来。在这里会打印出Java
for((language,"Hadoop") <- Set("Scala"->"Spark","Java"->"Hadoop")) println(language)
//或者在进行匹配时,我们要求第二个元素是整数,只有第二个元素是整数时,我们打印出它的key值。在这里会打印出Spark
for((k,v:Int) <- List(("Spark"->5),("Hadoop"->"Big Data"))) println(k)
}
}
相关来源:DT大数据梦工厂,微信公众号是DT_Spark,每天都会有大数据实战视频发布,请您持续学习。
相关资料:
scala深入浅出实战经典完整视频、PPT、代码下载:
百度云盘:http://pan.baidu.com/s/1c0noOt6
腾讯微云:http://url.cn/TnGbdC
360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码45e2