当哥们在开开心心的刷力扣题时,好不容易遇到一个sort方法的降序使用,然后飞速的写下
糟糕糟糕,忘记了sort不能用int类型数组,那怎么办,算了转型吧!
然后哥们一顿操作for+ valueOf忙的不易乐乎,大功告成,真不愧是我
啊?不是吧?怎么还有人这么操作?太low了,真是太low了,我不允许有人还不会数组的转型,你这是对Stream流的大不敬!
该不会你就只学了map吧?mapToInt不会不知道吧?
stream流除了提供了我们map方法外,在基本流中还有mapToLong, mapToDouble以及mapToObj方法,在包装流中有mapToInt,mapToDouble, mapToLong
⒈基本类数组转换为对应的包装类数组
利用mapToObj我们可以实现与对应包装类之间的转换
下面我们就来看看最常用的int类型转换吧
学过stream流的应该很好理解代码的含义
值得注意的是:在转换为包装类数组时,在toArray方法中要传递创建数组类型的方法
boxed方法底层就是调用mapToObj方法
在int转Internet类型时我们也可以直接使用boxed方法进行转换
⒉包装类数组转换为对应的基本类数组
同理有了mapToInt,哥们就不用再new+intValue一个一个转换了
我们要注意的是: char类型的数组不能成流,但其对应的包装类Character可以
⒊数组与集合的互转
你数组转集合还在new+ copy?
我来告诉你个厉害的
来看源码,人家直接new ArrayList传数组
这个好像跟new+copy差不多,那咱再来学一个厉害的,利用stream流来互转
细看请参考下面文章,没学stream流的也可以学习一下https://blog.csdn.net/m0_74808313/article/details/132301847