代码示例:

 val sample_data_combine_result=List(
(0,(List(FitModel(4022,1447.92,-8.38983306721434,2.0)),1)),
(1,(List(FitModel(1083,389.88,-11.057139857142857,3.0)),1)),
(2,(List(FitModel(4022,1447.92,-8.38983306721434,2.0)),1))
) scala> val fitResult = sample_data_combine_result.flatMap(s => {
| var fitResultItems: ListBuffer[FitModelWithSceneType] = null
| if(s._1==0){
| fitResultItems=ListBuffer(
| FitModelWithSceneType(0,1,3.0,-3.9110667661835516,0.6989700043360189),
| FitModelWithSceneType(0,51,3.0,-3.9110667661835516,1.1760912590556813)
| )
| }
| if(s._1==1){
| fitResultItems=ListBuffer(
| FitModelWithSceneType(1,1,3.0,-3.9110667661835516,0.6989700043360189),
| FitModelWithSceneType(1,51,3.0,-3.9110667661835516,1.1760912590556813),
| FitModelWithSceneType(1,101,3.0,-3.9110667661835516,1.3979400086720377)
| )
| }
| if(s._1==2){
| fitResultItems=ListBuffer(
| FitModelWithSceneType(2,1,3.0,-3.9110667661835516,0.6989700043360189),
| FitModelWithSceneType(2,51,3.0,-3.9110667661835516,1.1760912590556813),
| FitModelWithSceneType(2,101,3.0,-3.9110667661835516,1.3979400086720377),
| FitModelWithSceneType(2,101,3.0,-3.9110667661835516,1.3979400086720377),
| FitModelWithSceneType(2,101,3.0,-3.9110667661835516,1.3979400086720377)
| )
| }
|
| fitResultItems
| })
fitResult: List[FitModelWithSceneType] =
List(
FitModelWithSceneType(0,1,3.0,-3.9110667661835516,0.6989700043360189),
FitModelWithSceneType(0,51,3.0,-3.9110667661835516,1.1760912590556813),
FitModelWithSceneType(1,1,3.0,-3.9110667661835516,0.6989700043360189),
FitModelWithSceneType(1,51,3.0,-3.9110667661835516,1.1760912590556813),
FitModelWithSceneType(1,101,3.0,-3.9110667661835516,1.3979400086720377),
FitModelWithSceneType(2,1,3.0,-3.9110667661835516,0.6989700043360189),
FitModelWithSceneType(2,51,3.0,-3.9110667661835516,1.1760912590556813),
FitModelWithSceneType(2,101,3.0,-3.9110667661835516,1.3979400086720377),
FitModelWithSceneType(2,101,3.0,-3.9110667661835516,1.3979400086720377),
FitModelWithSceneType(2,101,3.0,-3.9110667661835516,1.3979400086720377)
)

spark2.1:flatMap的用法的更多相关文章

  1. RxJava(三) flatMap操作符用法详解

    欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/51532776 本文出自:[余志强的博客] flatMap操作符的作用 ...

  2. 流API--流的映射

    很多时候,将一个流的元素映射到另外一个流很有帮助.映射操作最具代表的就是map()方法.实际编码中,我们会经常用到,所以这里专门整理一篇博客. 考虑如下情景,对于一个包含了姓名,电话,年龄等属性构成的 ...

  3. RxJava在Android中使用场景详解

    RxJava 系列文章 <一,RxJava create操作符的用法和源码分析> <二,RxJava map操作符用法详解> <三,RxJava flatMap操作符用法 ...

  4. Java8 stream学习

    Java8初体验(二)Stream语法详解 Java 8 flatMap示例 第一个Stream Demo IDEA里面写Stream有个坑 虽然java文件中没错,但是但编译的时候还是报错了, In ...

  5. RxJava2实战---第五章 变换操作符和过滤操作符

    RxJava2实战---第五章 变换操作符和过滤操作符 RxJava的变换操作符主要包括以下几种: map():对序列的每一项都用一个函数来变换Observable发射的数据序列. flatMap() ...

  6. java8学习之Stream分组与分区详解

    Stream应用: 继续举例来操练Stream,对于下面这两个集合: 需求是:将这两个集合组合起来,形成对各自人员打招呼的结果,输出的结果如: "Hi zhangsan".&quo ...

  7. Stream之高级函数

    上回文说到了有关Stream一些数学函数的用法.今天来说下Stream一些高级的函数用法,这些函数在日常工作中也是必不可少的,测试数据还是引用上一篇的数据. Map 这个方法我个人称之为转换函数,把一 ...

  8. Java8新特性之Optional,如何优雅地处理空指针

    是什么 ​ 从 Java 8 引入的一个很有趣的特性是 Optional 类.Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException)-- 每个 Java ...

  9. Android RxJava 2 的用法 just 、from、map、subscribe、flatmap、Flowable、Function、Consumer ...【转】

    先简单说说RxJava的用途与价值 原文出处:Android RxJava 2 的用法 用途: 异步 (也就是开线程跳转) 价值: 面对复杂的逻辑,它依然 简洁 ,代码 易读 RxJava2 与 Rx ...

随机推荐

  1. Linux系统-解压缩命令集合

    Linux系统-解压缩命令集合 linux zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. ...

  2. SqlSever数据库实践周

    资源下载 进行了为期5天的数据库设计,虽然以前用过数据库,但是这一次是使用书上规范的设计流程设计的数据库,感觉有必要记录一下,希望对其他人有帮助. 我的收获:在这个博客中会体现到我的收获,对于将要进行 ...

  3. 笔记:MyBatis 其他特性

    多行结果集映射成Map 如果你有一个映射语句返回多行记录,并且你想以HashMap的形式存储记录的值,使用记录列名作为key值,而记录对应值或为value值.我们可以使用sqlSession.sele ...

  4. 关于html表单的disabled属性的设置问题

    首先,我的看法是无论disable的值是否有值,只要设置了disabled属性的表单,无论是否有值,无论值为什么,都会被禁用.   来看下面例子: 在一个群里有人说因为直接写在表单属性上是字符串,因为 ...

  5. 【Python】 docker-py 用Python调用Docker接口

    [docker-py] 官方文档:[https://docker-py.readthedocs.io/en/stable/images.html] 众所周知,Docker向外界提供了一个API来管理其 ...

  6. Algorithm --> Kruskal算法和Prim算法

    最小生成树之Kruskal算法和Prim算法 Kruskal多用于稀疏图,prim多用于稠密图. 根据图的深度优先遍历和广度优先遍历,可以用最少的边连接所有的顶点,而且不会形成回路.这种连接所有顶点并 ...

  7. Hibernate学习(1)- 初识

    一.概念引入 1.持久化: 狭义概念:数据存储在物理介质不会丢失. 广义概念:对数据的CRUD操作都叫做持久化. 2.加载: hibernate里,数据从数据库中加载到session. 3.ORM - ...

  8. 将 Shiro 作为应用的权限基础 二:基于SpringMVC实现的认证过程

    认证就是验证用户身份的过程.在认证过程中,用户需要提交实体信息(Principals)和凭据信息(Credentials)以检验用户是否合法.最常见的“实体/凭证”组合便是“用户名/密码”组合. 一. ...

  9. 微信公众号报错 config:invalid signature

    官方已经提供了微信 JS 接口签名校验工具(http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign),填入相应的参数就能出来相应的signa ...

  10. JavaScript(第十天)【Function类型】

    在ECMAScript中,Function(函数)类型实际上是对象.每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法.由于函数是对象,因此函数名实际上也是一个指向函数对象 ...