java stream flatmap
返回 | 调用 |
---|---|
<R> Stream<R>
|
flatMap(Function<? super T,? extends Stream<? extends R>> mapper)
|
参数类型是T
返回值是Stream
且 Stream
的泛型为R
(在spark
中flatmap
的返回值是iterator
)
1.内部类实现方式,写法一:匿名内部类
这里Function
的泛型<T,R>
变成了<String,String>
重写了apply
方法,参数类型T
变成了String
,返回值类型R
也变成了String
public static void main(String[] args) throws IOException {List<String> list1 = Arrays.asList("1","2","3");list1.stream().flatMap(new Function<String, Stream<? extends String>>() {@Overridepublic Stream<? extends String> apply(String s) {return Arrays.asList("a", s).stream();}}).forEach(System.out::println);}
2.内部类实现方式,写法二:内部类
public static void main(String[] args) throws IOException {List<String> list1 = Arrays.asList("1","2","3");list1.stream().flatMap(new Fun()).forEach(System.out::println);}static class Fun implements Function<String, Stream<? extends String>>{//实现接口时,泛型是写在接口上@Overridepublic Stream<? extends String> apply(String s) {return Arrays.asList("a", s).stream();}}
3.使用lambda
lambda
的本质就是Function
内部类
public static void main(String[] args) throws IOException {List<String> list1 = Arrays.asList("1","2","3");list1.stream().flatMap(x -> Arrays.asList("a",x).stream()).forEach(System.out::println);}
java stream flatmap相关推荐
- Java Stream flatMap()
Java Stream flatMap() is a very useful function to flatten the Stream after applying the given funct ...
- java 扁平化_java8 stream flatMap流的扁平化操作
概念:Steam 是Java8 提出的一个新概念,不是输入输出的 Stream 流,而是一种用函数式编程方式在集合类上进行复杂操作的工具.简而言之,是以内部迭代的方式处理集合数据的操作,内部迭代可以将 ...
- java双层list扁平化,浅谈java8 stream flatMap流的扁平化操作
概念: Steam 是Java8 提出的一个新概念,不是输入输出的 Stream 流,而是一种用函数式编程方式在集合类上进行复杂操作的工具.简而言之,是以内部迭代的方式处理集合数据的操作,内部迭代可以 ...
- Java Stream map flatMap mapMulti的升维和降维
//升维List<Integer> list = List.of(4, 5, 6);System.out.println("第1个");//mapMulti产生额外的一 ...
- 如何使用Java 8 FlatMap JDBC ResultSet?
您还不喜欢机能吗? 这样标题可能不会引起您的共鸣-但文章会! 相信我. 本质上,我们想要这样: +------+------+------+ | col1 | col2 | col3 | +----- ...
- java peek函数_基础篇:JAVA.Stream函数,优雅的数据流操作
写在开头:本文是转载于掘金上的一篇文章,已获得原作者授权,我会在文章最后放上原作者和原文链接. 前言 平时操作集合数据,我们一般都是for或者iterator去遍历,不是很好看.java提供了Stre ...
- Java Stream API入门篇
转自:https://www.cnblogs.com/CarpenterLee/p/6545321.html 你可能没意识到Java对函数式编程的重视程度,看看Java 8加入函数式编程扩充多少功能就 ...
- java Stream 流
java Stream 流 Stream 流 流的创建 流的转化 Optianal 流的计算 Stream 流 1. Stream的定义 来自数据源的支持聚合操作的元素序列. 即一个流对外提供接口,接 ...
- java stream 取不同的数据_基础篇:JAVA.Stream函数,优雅的数据流操作
前言 平时操作集合数据,我们一般都是for或者iterator去遍历,不是很好看.java提供了Stream的概念,它可以让我们把集合数据当做一个个元素在处理,并且提供多线程模式 流的创建 流的各种数 ...
最新文章
- ubuntu16 18 用着速度不错的apt源
- linux 内核中基于netfilter的编译选项
- Linux内核网络数据发送(六)——网络设备驱动
- mysql 变量is null 和 not exists区别
- 面试题28 字符串排列
- 现代软件工程 教学计划 中国科学技术大学-微软亚洲研究院联合培养班
- python常用单词自由且开放_python常用英语单词词汇 unit7
- php 双向队列,PHP实现一个双向队列
- lambda表达式for_each,find_if简介
- Python: 序列list:保持元素顺序同时消除重复值
- 芈珺:iOS自动化测试工具总览
- 常见食物营养成分表图_提醒大家;甲状腺结节的“根源”已揭晓,4种常见蔬菜,请趁早列入黑名单...
- JSF使用HTML5的custom attribute
- winrar大全+压缩
- 计算机的配置鼠标,电脑双鼠标怎么设置 电脑双鼠标设置方法
- Java 学习笔记·十二 —— Java 案例·网上商城系统
- Sessions, Window Stations and Desktops(GetDesktopWindow函数得到的桌面句柄, 是Csrss.exe创建的一个窗口)
- 2019上半年勒索病毒专题报告
- SysRec2016 | Deep Neural Networks for YouTube Recommendations
- 2019年会总结+自我反思
热门文章
- UVA 644 - Immediate Decodability
- vim-Complex repeats
- mysql双击同步_求助,WINDOWS下MYSQL双机同步的问题
- 从零开始学前端:定时器、Math对象 --- 今天你学习了吗?(JS:Day12)
- varchar 求和 非数值_考研线性代数 解题方法汇总(非知识点汇总)
- springboot脚本启动bat_SpringBoot修改JVM参数(内置Tomcat命令行启动和IDEA工具配置修改)...
- 大数的加减法C语言程序设计,超大数相加C语言程序设计
- 通过CDN引入jQuery的几种方式
- TCP的可靠传输机制
- 讯飞输入法pad版x86_讯飞搜狗为何抵不过百度输入法?读完你就明白了