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
更多>>
chatgpt将带来哪些影响?
ChatGPT是一个大型的人工智能语言模型,由OpenAI进行训练。它的出现将对人工智能技术产生重要影响,并在诸多领域产生重要影响。1.提高人工智能...详情>>
2023-10-11 17:16:23
Hibernate 和 Spring Data JPA有哪些区别?
一、Hibernate 和 Spring Data JPA的区别1、功能不同Hibernate是一个ORM(对象关系映射)框架,用于在Java应用程序中管理数据库的访问和操作;...详情>>
2023-10-11 16:26:07
什么是用户体验 (UX) 设计?
一、什么是用户体验 (UX) 设计用户体验 (UX) 设计是设计和开发数字产品,如网站和应用程序,为用户提供一个无缝和愉快的体验。它包含了获得和纳...详情>>
2023-10-11 10:02:10
k-means方法存在的主要缺点是什么以及如何解决?
一、k-means方法缺点1.K值的选取不好把握;2.对于不是凸的数据集比较难收敛;3.如果各隐含类别的数据不平衡,比如各隐含类别的数据量严重失衡,...详情>>
2023-10-11 06:54:05