scala flatMap 简介
来源:互联网 发布:js传值到jsp 编辑:程序博客网 时间:2024/04/30 14:22
scala flatMap的理解
一、官方例子个人解析
<pre name="code" class="java">object FlatMapTest extends App{ //官方API用法 def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")//返回的集合是静态类型,所以必须要注意返回的类型,例如:var words:List[String] =List[String]("asd","sdf","11111")//返回seq集合而不是set集合def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)var temp = lettersOf(words)println(temp.mkString(","))// 返回set集合而不是seq集合def lettersOf1(words: Seq[String]) = words.toSet[String] flatMap (word => word)var temp1 = lettersOf1(words)println(temp1.mkString(","))// xs will be a an Iterable[Int]//注意这里的_是tuple类型,flatMap自动把map转为tuple类型这里等价于(m=>m._2)val xs = Map("a" -> List(11,111,22), "b" -> List(22,222,2222)).flatMap(_._2) println(xs.mkString(","))// ys will be a Map[Int, Int]val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2) println(ys.mkString(",")) println("通过以上两个例子可以总结:1.对于一阶集合flatMap返回与主对象相同的类型\n2.对于map,flatMap能扁平化一层的map,把map的每个键值对都转为tuple形式")}
结果:
a,s,d,s,d,f,1s,f,a,1,d11,111,22,22,222,22221 -> 111,2 -> 222通过以上两个例子可以总结:1.对于一阶集合flatMap返回与主对象相同的类型2.对于map,flatMap能扁平化一层的map,把map的每个键值对都转为tuple形式
0 0
- scala flatMap 简介
- scala flatMap个人心得
- Map, Map and flatMap in Scala
- scala中map与flatMap浅析
- Scala简介
- Scala简介
- Scala简介
- Scala简介
- scala简介
- Scala简介
- Scala简介
- Scala简介
- Scala简介
- Scala简介
- scala 简介
- Scala Learning(2): map, flatMap, filter与For表达式
- scala必知必会之列表的map,flatMap,zip和reduce
- scala flatMap为何能过滤掉Option中的None
- Redis和Memcached的区别---查询资料整理;
- poj3683Priest John's Busiest Day【2-sat二选一输出】
- hdu 5724 - chess (sg函数)
- callable和future浅谈
- linux 操作系统中find文件搜索命令的使用
- scala flatMap 简介
- MSP430 SPI总线详解
- wifi详解(五)
- 【JAVA】内嵌JettyServer结合springMVC、mybatis实现轻量化系统部署
- animation-list AnimationDrawable null 空指针 原因
- Intent基本介绍
- 按钮 边角 相关设置
- 32位的tetview and medit 在64bit的linux运行,有很多32bit的库没有安装,错误不断之解决办法。
- 旋转动画