大数据系列修炼-Scala课程88
2016-10-10 09:59
323 查看
大数据系列修炼-Scala课程88
核心内容:
1、Scala中使用For表达式实现map、flatMap、filter操作代码实战
1>在scala当中,for循环的功能通过map、flatMap、filter都可以实现
2>在scala当中,map、flatMap、filter、foreach这些高阶函数的功能通过for循环也都可以实现
实例程序1:
实例程序2:
运行结果:
如有问题,欢迎留言指正!
核心内容:
1、Scala中使用For表达式实现map、flatMap、filter操作代码实战
1、Scala中使用For表达式实现map、flatMap、filter操作代码实战 |
2>在scala当中,map、flatMap、filter、foreach这些高阶函数的功能通过for循环也都可以实现
实例程序1:
object For_Advanced { def main(args: Array[String]) {} def map[A,B](list: List[A],f: A => B): List[B] = for(element <- list) yield f(element) def flatMap[A,B](list: List[A], f: A=> List[B]): List[B] = for(x <- list; y <- f(x)) yield y def filter[A](list: List[A], f: A => Boolean): List[A] = for(elem <- list if f(elem)) yield elem }
实例程序2:
object App6 { def main(args:Array[String]):Unit = { import scala.collection.mutable.ListBuffer //引入一个动态数组 val listBuffer = new ListBuffer[Int]() listBuffer ++= List(10,20,30,40,50,60) for(ele<- listBuffer) print(ele) println val list2 = for(ele<- listBuffer) yield ele*2 println(list2.mkString("[","\t","]")) //在for循环当中加入守卫(if条件表达式) val list3 = for(ele<- listBuffer;if(ele>30)) yield ele println(list3.mkString("[","\t","]")) } }
运行结果:
102030405060 [20 40 60 80 100 120] [40 50 60]
如有问题,欢迎留言指正!
相关文章推荐
- 大数据系列修炼-Scala课程29
- 大数据系列修炼-Scala课程41
- 大数据系列修炼-Scala课程94
- 大数据系列修炼-Scala课程104
- 大数据系列修炼-Scala课程25
- 大数据系列修炼-Scala课程30
- 大数据系列修炼-Scala课程39
- 大数据系列修炼-Scala课程04
- 大数据系列修炼-Scala课程105
- 大数据系列修炼-Scala课程40
- 大数据系列修炼-Scala课程106
- 大数据系列修炼-Scala课程22
- 大数据系列修炼-Scala课程43
- 大数据系列修炼-Scala课程47
- 大数据系列修炼-Scala课程53
- 大数据系列修炼-Scala课程13+14
- 大数据系列修炼-Scala课程16(2)
- 大数据系列修炼-Scala课程107
- 大数据系列修炼-Scala课程04
- 大数据系列修炼-Scala课程06