zoukankan      html  css  js  c++  java
  • Scala map与flatMap

    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)
  • 相关阅读:
    按之字形打印二叉树 --剑指offer
    浅谈PHP+Access数据库的连接 注意要点
    Linux下统计代码行数
    获取服务器IP,客户端IP
    CURL访问举例
    廖雪峰博客
    Redis命令
    svn merge和branch 详解
    Linux Screen超简明教程
    MySQL 的Coalesce函数
  • 原文地址:https://www.cnblogs.com/abcdwxc/p/9445526.html
Copyright © 2011-2022 走看看