flatmap 和map有什么区别?
一、flatmap 和map的区别
map方法返回的是一个object,map将流中的当前元素替换为此返回值;latMap方法返回的是一个stream,flatMap将流中的当前元素替换为此返回流拆解的流元素。
Map返回一个流,包含给定函数应用在流中每一个元素后的结果;flatmap返回一个流,包含将此流中的每个元素替换为通过给定函数映射应用于每个元素而生成的映射流的内容。
举例说明
有二箱鸡蛋,每箱5个,现在要把鸡蛋加工成煎蛋,然后分给学生。
map做的事情:把二箱鸡蛋分别加工成煎蛋,还是放成原来的两箱,分给2组学生;
flatMap做的事情:把二箱鸡蛋分别加工成煎蛋,然后放到一起【10个煎蛋】,分给10个学生
scala中map和flatmap的区别可以用一句话进行总结,原始RDD假如是10行,经过map操作后依旧是10行,但是flatmap后会>=10行
map是对每一行进行处理,flatmap对每一行进行处理后 如果处理结果的长度是1,那么就和map操作一样;如果处理后是个List或者Array类型,那么就会将这个List或者Array的每个元素变成1行。
延伸阅读:
二、什么时候用map函数
map函数通过将指定的function函数依次作用在给定序列iterable中的每一个元素上,得到一个新的list并返回。注意,map不改变原list,而是返回一个新list。
当需要对序列进行某些操作或者处理,将其转换为新的列表时,用map函数是最合适不过了。当然,除了最基本的用法,map函数还有一些特殊的使用技巧,比如:可以进行类型转换(将元组或字符串转换为列表,因为map的返回值是列表),可以提取字典中的key等。
以上就是关于flatmap 和map有什么区别的内容希望对大家有帮助。

相关推荐HOT
更多>>
为什么做因子分析?可以解决什么问题??
一、什么是因子分析?因子分析的起源是这样的,1904年英国的一个心理学家发现学生的英语、法语和古典语成绩非常有相关性,他认为这三门课程背后...详情>>
2023-10-14 23:59:00
文本分析有哪些阶段?
一、文本分析有哪些阶段?要实施文本分析,您需要遵循包含 4 个阶段的系统性流程。第 1 阶段 — 数据收集在此阶段,您从内部或外部资源收集文本...详情>>
2023-10-14 23:00:09
计算机网络可以做什么?
一、什么是计算机联网?计算机联网是指相互连接的计算设备,它们可以相互交换数据和共享资源。这些联网设备利用称为通信协议的规则系统,通过物...详情>>
2023-10-14 19:39:09
云存储有哪些类型?
一、云存储有哪些类型云存储主要有三种类型:对象存储、文件存储和数据块存储。每种类型都有自己的优势和对应的使用场景。1、对象存储组织必须...详情>>
2023-10-14 18:59:10