面试八股--stram 中map和flatmap的区别

mapflatMap都是用于处理集合(如列表、数组等)中的元素的方法,它们的主要区别在于处理结果的方式。

  1. map:它会对集合中的每个元素应用一个函数,并将结果收集到一个新的集合中。这意味着map操作不会改变原始集合的结构,而是创建一个新的集合来存储转换后的元素。

  2. flatMap:它同样会对集合中的每个元素应用一个函数,但与map不同的是,它会将函数的返回值扁平化(flatten),即将嵌套的集合或数组展开成一个单一的集合。这意味着flatMap可能会改变原始集合的结构,因为它会将所有嵌套的元素提取出来并放入一个新的集合中。

举个例子,假设我们有一个整数列表List(1, 2, 3),我们想要将每个元素乘以2,然后收集结果。使用map操作,我们将得到一个新的列表List(2, 4, 6);而使用flatMap操作,由于我们没有嵌套结构,所以结果仍然是List(2, 4, 6)。但是,如果我们有一个包含嵌套列表的列表,例如List(List(1, 2), List(3, 4)),那么使用flatMap操作将会得到一个扁平化的列表List(1, 2, 3, 4)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值