高级函数 map,flatMap,filter用for循环的实现。

package com.dt.scala.forexpression


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

}


DT大数据梦工厂微信公众账号:DT_Spark。

DT大数据梦工厂的微信公众号是DT_Spark,每天都会有大数据实战视频发布,请您持续学习。

王家林DT大数据梦工厂scala的所有视频、PPT和代码在百度云盘的链接:http://pan.baidu.com/share/home?uk=4013289088#category/type=0&qq-pf-to=pcqq.group

QQ群:

DT大数据梦工厂① :462923555 

DT大数据梦工厂②: 437123764 

DT大数据梦工厂③ :418110145