1. map函数
  对集合的每一个元素运用某个函数操作,然后将结果作为一个新的列表返回。

实例1:将列表中每个元素值乘以2

scala> val list1=List(1,2,3,4)
list1: List[Int] = List(1, 2, 3, 4)
scala> list1.map(_*2)
res54: List[Int] = List(2, 4, 6, 8)
另一种写法:
scala> list1.map(x=>x*2)
res55: List[Int] = List(2, 4, 6, 8)

实例2:分隔字符

scala> val l=List("jack","joe","terry","jerry")
l: List[String] = List(jack, joe, terry, jerry) 
scala> l.map(_.split(" "))
res20: List[Array[String]] = List(Array(jack), Array(joe), Array(terry), Array(jerry)) 

2.flatMap 函数

对集合中每个元素运用某个函数操作(每个元素会被映射为0到多个输出元素)后,将结果扁平化组成一个新的集合。

实例1:分隔字符

scala> val l=List("jack","joe","terry","jerry") 

l: List[String] = List(jack, joe, terry, jerry)

scala> l.flatMap(_.split(" ")) 

res21: List[String] = List(jack, joe, terry, jerry) 

注意:map分隔符操作返回的类型为 List[Array[String]],而flatMap分隔操作返回的类型为 List[String]

实例2:每个元素映射为多个元素

scala> val rdd=Array(1,2,3)
rdd: Array[Int] = Array(1, 2, 3)
scala> val rdd2=rdd.flatMap(x=>x to 5)
rdd2: Array[Int] = Array(1, 2, 3, 4, 5, 2, 3, 4, 5, 3, 4, 5)

Scala map与flatMap的更多相关文章

  1. scala学习笔记(8): 列表的map,flatMap,zip和reduce

    map,flatMap,zip和reduce函数可以让我们更容易处理列表函数. 1 map函数map将一个函数应用于列表的每一个元素并且将其作为一个新的列表返回.我们可以这样对列表的元素进行平方: s ...

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

    今天我们来学习一下如何使用for表达式实现map.flatMap以及filter 首先,我们来看下map.map的功能是,传入一个list,通过一个函数f,将list中的元素A变成元素B的过程.最后得 ...

  3. (转)scala中map与flatMap浅析

    在函数式语言中,函数作为一等公民,可以在任何地方定义,在函数内或函数外,可以作为函数的参数和返回值,可以对函数进行组合.由于命令式编程语言也可以通过类似函数指针的方式来实现高阶函数,函数式的最主要的好 ...

  4. 第35讲:List的map、flatMap、foreach、filter操作代码实战

    List类的高阶方法          val fmap = List( 1,2 ,3). map { _ + 1 } //List(2, 3, 4)    val fruit_rev2 = frui ...

  5. spark 的一些常用函数 filter,map,flatMap,lookup ,reduce,groupByKey

    定义不带参数也不带返回值的函数(def :定义函数的关键字  printz:方法名称) scala> def printz = print("scala hello")   ...

  6. Spark入门(四)--Spark的map、flatMap、mapToPair

    spark的RDD操作 在上一节Spark经典的单词统计中,了解了几个RDD操作,包括flatMap,map,reduceByKey,以及后面简化的方案,countByValue.那么这一节将介绍更多 ...

  7. scala - Map基础

    Map 构造Map 不可变: val map = Map("sa" -> 1, "s" -> 2)map("sa") = 3 / ...

  8. [RxJS] map vs flatMap

    What's the difference between map and flatmap? First, let's show what map is. To show that, I need a ...

  9. java8中stream的map和flatmap的理解

    转自https://blog.csdn.net/wynjauu/article/details/78741093 假如我们有这样一个需求给定单词列表["Hello","W ...

随机推荐

  1. Quartz的基本使用之入门(2.3.0版本)

    一.Quartz可以用来做什么 Quartz是一个强大任务调度框架,我工作时候会在这些情况下使用到quartz框架,当然还有很多的应用场景,在这里只列举2个实际用到的 餐厅系统会在每周四晚上的22点自 ...

  2. 数字证书、SSL、HTTPS及在Nginx中的配置

    一.什么是 RSA.SSL.HTTPS RSA:它是非对称加密算法的一种,而且是最常用的一种.它的理论基础是:计算两个大质数的乘积非常简单,而对该乘积进行因子分解就非常困难.而且 这两个质数越大,对其 ...

  3. Go程序设计

    01 Go基础特性&独有特性

  4. 在 NLTK 中使用 Stanford NLP 工具包

    转载自:http://www.zmonster.me/2016/06/08/use-stanford-nlp-package-in-nltk.html 目录 NLTK 与 Stanford NLP 安 ...

  5. linq查询数值为null的问题以及数据表的关联计算问题

    说明:下面实例都是我进行项目开发时的真实部分代码,毫无保留 一.数据表的关联计算 //把当前年度的分差计算出来,建立两个关联的数据表 try { using(TransactionScope scop ...

  6. PB测款方法 店铺运费模板 设置

    https://www.wishhack.com/article/44.html 子账号有权限设置运费

  7. PC/FORTH 变量|常数|数组

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  8. win10安装Redis方法以及基本配置

    下载 下载地址点击下载地址,然后选择版本进行下载 下载的文件是一个zip压缩文件,解压后目录结构为: 进行安装 进入命令行模式打开Redis的安装目录 执行:redis-server.exe redi ...

  9. inode 与black 特点与简介

    inodo为索引节点, 存放文件属性的信息(实际文件位置与容量信息 /black文件属性) 作用在格式化文件系统时候产生 创建一个文件就占用一个inode 数字相同为硬链接 black为实际数据/内容 ...

  10. 【Java】字节数组转换工具类

    import org.apache.commons.lang.ArrayUtils; import java.nio.charset.Charset; /** * 字节数组转换工具类 */ publi ...