flatmap用法_短说:map和flatmap

6b7a0cf3c69ff6c532e450b3b95c16c1.png

PS:本文阅读->理解->GET大概2-5分钟.

也许你天天见到,但是一直没理解,占用你少量的时间,相信简单的东西,只需要你付出一点点时间.

map和flatmap是Java8中stream的用法.

>>>>>>map

数组流中的每一个值,使用所提供的函数执行一遍,一一对应。得到元素个数相同的数组流

0702488a0c276803880e7ab3afa09261.png

比如{1,2,3}每个元素+1变成{4,5,6},数组原始为3个,处理完仍然为3个.

>>>>>>flatmap

flat是扁平的意思。它把数组流中的每一个值,使用所提供的函数执行一遍,一一对应。得到元素相同的数组流。只不过,里面的元素也是一个子数组流。把这些子数组合并成一个数组以后,元素个数大概率会和原数组流的个数不同。

2fb3ae7a949220d4bd27c41463081f4c.png

比如,{"hello","world"}每个单词拆分成字母数组流,然后拆分为字母数组{"h","e","l","l","o","w","o","r","l","d"},数组原始为2个,处理完扁平化为10个.

你Get到了吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,flatMapmap都是对进行操作的方法。它们的作用是将中的元素逐个进行处理,并返回一个新的map方法的签名是: ``` <R> Stream<R> map(Function<? super T, ? extends R> mapper) ``` 它接受一个函数参数,将中的每个元素应用函数进行转换,并返回一个包含转换后元素的新。也就是说,map方法将中的每个元素都映射成另一个元素。 flatMap方法的签名是: ``` <R> Stream<R> flatMap(Function<? super T, ? extends Stream<? extends R>> mapper) ``` 与map方法不同的是,flatMap方法接受一个函数参数,该函数返回一个flatMap方法会将每个元素应用函数后得到的进行扁平化操作,将多个合并成一个。也就是说,flatMap方法可以将中的每个元素展开成多个元素。 总结来说,flatMap可以将一个的元素展开成多个元素,而map只能将一个元素映射成另一个元素。使用flatMap可以做到map可以做的一切,但是当输入的是单个元素的时候,通常更推荐使用map,因为这样能更清晰地表达代码的意图。 #### 引用[.reference_title] - *1* *3* [mapflatMap 的区别](https://blog.csdn.net/weixin_52772307/article/details/128944511)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [flatMapMap区别](https://blog.csdn.net/weixin_44280356/article/details/124922530)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值