第88讲:Scala中使用For表达式实现map、flatMap、filter

今天我们来学习一下如何使用for表达式实现map、flatMap以及filter

首先,我们来看下map。map的功能是,传入一个list,通过一个函数f,将list中的元素A变成元素B的过程。最后得到由B形成的列表。这个过程如果由for循环实现的话,如下操作:

for(element <- list) yield f(element)

接下来我们看下flatMap。flatMap的功能是,传入一个list,通过一个函数f,将list中的每个元素转换成一个列表,最后返回由这些列表中的所有元素构成的列表。这个过程如果由for表达式实现,操作如下:for(x<-list;y<-f(x)) yield y

最后我们来看下filter操作,filter的功能就是传入一个列表list,通过函数f,筛选出布尔表达式为true,即符合条件的元素,最后返回符合条件的元素构成的列表。这个过程如果由for表达式实现,操作如下:for(elem <- list if f(elem)) yield elem

分享下更多的scala资源吧:

百度云盘:http://pan.baidu.com/s/1gd7133t

微云云盘:http://share.weiyun.com/047efd6cc76d6c0cb21605cfaa88c416

360云盘: http://yunpan.cn/cQN9gvcKXe26M (提取码:13cd)

信息来源于 DT大数据梦工厂微信公众账号:DT_Spark

关注微信账号,获取更多关于scala学习内容

时间: 2024-10-07 06:30:06

第88讲:Scala中使用For表达式实现map、flatMap、filter的相关文章

Scala深入浅出实战经典《第88讲:Scala中使用For表达式实现map、flatMap、filter》笔记

简直了....晚上回来突然看到了进巨的原稿,忍不住撸了幅三爷,然后什么都没做就23点了... 第88讲:Scala中使用For表达式实现map.flatMap.filter Goal: For表达式实现map/flatMap/filter Gains: map/flatMap/filter是泛型 More: ...... ------------------------------------------------------------------------------------ 信息来

Scala中使用For表达式实现map、flatMap、filter

学习了Scala中使用For表达式实现map.flatMap.filter,可以实现广泛的应用 例子如下: Object For_Advancde { 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=>B):List[B]= For (

Scala 深入浅出实战经典 第88讲:Scala中使用For表达式实现map、flatMap、filter

高级函数 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:

Scala深入浅出实战经典《第87讲:Scala中使用For表达式做查询》笔记

如知其非义,斯速已矣! 第87讲:Scala中使用For表达式做查询 Goal: For表达式做查询 Gains: for循环的应用 自定义一种类型,根据这种类型创建了一个List数组 针对数组中的内容,利用for循环可以进行相关的查询 More: 使用for循环来做查询~ ------------------------------------------------------------------------------------ 信息来源于 DT大数据梦工厂微信公众账号:DT_Spa

Scala中使用For表达式做查询

学习了Scala中使用For表达式做查询,很多编程中对数据库.文件.网络数据进行查询,应用for表达循环匹配,例子如下: Case calss Book (title:String, authors:List[tring]) Object For_Query { Def main(args:Array[String]) { Val books : List[Book]=List( Book(“Structure and Interpretation”, List(“Abelson,Harold”

Scala中的函数表达式

最近看Spark的东西,由于之前没有接触过lambda函数表达式,所以搜了点资料,特地纪录在此 Scala中的Lambda表达式 在函数式编程中,函数是基本的构造块.Scala融合了java中的面向对象编程和函数式编程.在Scala中,一个lambda表达式是种叫做“函数”或者“函数文本”.Scala中的函数属于一等公民.它们可以被分配给vals或者vars(最终变量或者非最终变量),它们可以作为其他函数的参数,也可以组合成新的函数. 在Scala中一个函数文本写成如下形式: ? 1 (argu

Scala中使用For表达式实现内幕思考

学习了Scala中使用For表达式实现内幕思考,filter是if ,for是一般的表达式,有map ,filter等,建议用for循环来代替,更简洁跟具有表现力 例子如下: Object For_Advancde { 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:

第26讲: Scala中的模式匹配入门实战详解

在scala中使用match表达式进行模式匹配,和其他语言中的switch语句的功能类型.但是match的功能更强大 我们先看一个简单的例子 object HelloPatternMatch {   def main(args: Array[String]): Unit = {     var data : Int = 1          data match {       case 1 => println("one")       case 2 => println

Scala learning(2): map, flatMap, filter与For表达式

本文叙述Collections里最常见的三种操作map, flatMap, filter,与For表达式的关系. List对三种方法的实现 map在List的实现: abstract class List[+T] { def map[U](f: T => U): List[U] = this match { case x :: xs => f(x) :: xs.map(f) case Nil => Nil } } flatMap在List的实现: abstract class List[