Scala模式匹配下的for循环

示例代码:

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([email protected]"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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-07 19:58:55

Scala模式匹配下的for循环的相关文章

Scala 深入浅出实战经典 第75讲:模式匹配下的For循环

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/mm3eDHk3T5o/优酷:http://v.youku.com/v_show/id

模式匹配下的For循环

学习了模式匹配下的For循环,用for循环遍历list中的所有元素,然后将其打印出来,应用foreach函数,应用index绑定flink,打印index:二元组,通过模式匹配打印,也可以通过类型进行模式匹配,例子如下 Def main(args:Array[string}):unit={ For(i<-List(1,2,3,4,5)){println(i)} For([email protected]”Flink”<-list(“Hadoop”,”Spark”,”Flink”)){print

第75讲:模式匹配下的For循环

今天学习了模式匹配下的for循环内容.让我们从代码实战角度出发. for(i<-List(1,2,3,4,5)) println(i)//实际上调用的是foreach        for([email protected]"Flink" <- List("hadoop","spark","Flink")) println(index)//为参数起了个别名进行匹配        for((language,&quo

scala模式匹配下的提取器动手构造实战

学习了scala模式匹配下的提取器动手构造实战,提取器的名称:>,提取器方法unapply,返回最后一个元素,和最后一个元素以前的若干元素,匹配最后一个元素是9,前面的是8,例子下: Object  :>{ Def  unapply[A](List:List[A])={ Some((list.init,list.last)) } } Object Extractor_Advanced{ Def main(args:Array[String]){ (1 to 9).toList match{ c

scala模式匹配下的赋值语句

学习了scala模式匹配下的赋值语句,模式匹配完成a和b的绑定,[email protected]其中a是b的别名,1000赋值给a和b,用元组的方式接收了1000和2000,二元组必须小写,大写会认为是常量,如果是大写要先定义,也可通过数组的方式进行赋值,例子如下 Def main(args:Array[String]){ Val [email protected]=1000 Println(“a=”+a+”,b=”+b) Val (c,d)=(1000,2000) Val Array(g,h

Scala 深入浅出实战经典 第77讲:模式匹配下的提取器动手构造实战

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/9UIPdSag1Yg/优酷:http://v.youku.com/v_show/id_

Scala 深入浅出实战经典 第76讲:模式匹配下的赋值语句

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/6x0R6So53M8/优酷:http://v.youku.com/v_show/id

第76讲:模式匹配下的赋值语句

今天来学习下模式匹配下的赋值语句 val [email protected] = 1000 //在这里a 和 b 的值都成了1000 val (c,d) = (1000,2000) //在这里,将c 和 d 的值分别赋为1000和2000 // val (c,F) = (1000,2000)//这会报错,因为scala会将大写字母认为是一个常量,在此处进行模式匹配的时候,F应该作为一个常量已经定义,可是实际中没有. val Array(g,h)=Array(1000,2000)//通过数组模式匹

scala的下划线

1.作为“通配符”,类似Java中的*.如import scala.math._ 2.:_*作为一个整体,告诉编译器你希望将某个参数当作参数序列处理!例如val s = sum(1 to 5:_*)就是将1 to 5当作参数序列处理. 3.指代一个集合中的每个元素.例如我们要在一个Array a中筛出偶数,并乘以2,可以用以下办法:a.filter(_%2==0).map(2*_).又如要对缓冲数组ArrayBuffer b排序,可以这样:val bSorted = b.sorted(_4.在元