代码示例:

 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. 一步步教你开发、部署第一个去中心化应用(Dapp) - 宠物商店

    今天我们来编写一个完整的去中心化(区块链)应用(Dapps), 本文可以和编写智能合约结合起来看. 写在前面 阅读本文前,你应该对以太坊.智能合约有所了解,如果你还不了解,建议你先看以太坊是什么除此之 ...

  2. 使用guava实现找回密码的tokenCache以及LRU算法

    源码包的简单说明: com.google.common.annotations:普通注解类型. com.google.common.base:基本工具类库和接口. com.google.common. ...

  3. for..of与for..in

    var arr=[1,2,3,5] undefined for(var m of arr) console.log(m)//1,2,3,5 for(var m in arr) console.log( ...

  4. tomcat启动时间过长的问题

    阿里云下的服务器安装jdk1.8和tomcat之后出现了一个问题,初次运行tomcat没有问题,可以正常访问tomcat首页,但是关闭之后再重启就发现tomcat首页刷不出来.而且再次关闭之后还报错了 ...

  5. linux --> 文件系统十问

    文件系统十问   参考:http://djt.qq.com/article/view/620   关于Linux文件系统相关的问题: 1.机械磁盘随机读写时速度非常慢,操作系统是采用什么技巧来提高随机 ...

  6. sessionStorage和localStorage的用法,不同点和相同点

    一,共同点 (1)存储时用setItem: localStorage.setItem("key","value");//以"key"为名称存 ...

  7. kvm之十二:虚拟机迁移

    虚拟机迁移该方式要确保虚拟机是关机状态.virsh shutdown snalevirsh dumpxml snale > /etc/libvirt/qemu/snale_qy.xml  // ...

  8. 爬虫(scrapy--豆瓣TOP250)

    # -*- coding: utf-8 -*- import scrapy from douban_top250.items import DoubanTop250Item class MovieSp ...

  9. 关于DLL的创建与使用简单描述(C++、C#)

    前言 前一段时间在学关于DLL的创建与调用,结果发现网络上一大堆别人分享的经验都有点问题.现在整理分享一下自己的方法. 工具 Microsoft Visual Studio 2017 depends ...

  10. 冲刺NO.10

    Alpha冲刺第十天 站立式会议 项目进展 项目核心功能逐步构建完成,测试工作也已开始.主要对部分功能组合进行测试以测试系统可用性. 问题困难 项目的主要困难在这个时间点主要存在于测试工作中,测试工作 ...