当我基本类数组转包装类时在new+valueOf,当我数组转集合时还在new+copy...

当哥们在开开心心的刷力扣题时,好不容易遇到一个sort方法的降序使用,然后飞速的写下

25bd2516df734cf4a17f0a8508195b03.png

糟糕糟糕,忘记了sort不能用int类型数组,那怎么办,算了转型吧!

然后哥们一顿操作for+ valueOf忙的不易乐乎,大功告成,真不愧是我

21938b5a449849ab9070227a85a2a7a8.png

啊?不是吧?怎么还有人这么操作?太low了,真是太low了,我不允许有人还不会数组的转型,你这是对Stream流的大不敬!

该不会你就只学了map吧?mapToInt不会不知道吧?

stream流除了提供了我们map方法外,在基本流中还有mapToLong, mapToDouble以及mapToObj方法,在包装流中有mapToInt,mapToDouble, mapToLong

⒈基本类数组转换为对应的包装类数组

70a709d8129444e5ab09b901a8fe5bee.png

利用mapToObj我们可以实现与对应包装类之间的转换

下面我们就来看看最常用的int类型转换吧

学过stream流的应该很好理解代码的含义

deced40c3259435eb5e5c4784bf4ba13.png

值得注意的是:在转换为包装类数组时,在toArray方法中要传递创建数组类型的方法

boxed方法底层就是调用mapToObj方法

6a116f5ad33a43cb96b1170b86b8248d.png

a52b94300f6741ed9fab2c3a7a6b6c7a.png

在int转Internet类型时我们也可以直接使用boxed方法进行转换 

⒉包装类数组转换为对应的基本类数组

81abf6604d1d4c56bdb52547518675df.png

同理有了mapToInt,哥们就不用再new+intValue一个一个转换了

96ca6bf798ac4113ab3eb795abe69d54.png

我们要注意的是: char类型的数组不能成流,但其对应的包装类Character可以

⒊数组与集合的互转

你数组转集合还在new+ copy?

我来告诉你个厉害的

8bccf05c6df74fabb111f46060e2f1b8.png

来看源码,人家直接new ArrayList传数组

a8d5d5ab52304a1aa7d31a9325bd3c47.png

这个好像跟new+copy差不多,那咱再来学一个厉害的,利用stream流来互转

细看请参考下面文章,没学stream流的也可以学习一下https://blog.csdn.net/m0_74808313/article/details/132301847

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汤姆大聪明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值