Java8中Map和mapToObj的区别?

1 篇文章 0 订阅
本文深入探讨Java8中新增的原始类型特化流IntStream、DoubleStream和LongStream的使用方法,重点讲解如何利用这些流进行高效的数据处理,特别是mapToObj方法在转换流元素时的应用场景。
摘要由CSDN通过智能技术生成

Java8中引入了三个原始类型特化流,分别是IntStream、DoubleStream和LongStream。map方法只能为流中的每个元素返回另一个int,mapToObj这个方法返回一个对象值流。如果需要得到类似int数组的话就需要使用mapToObj。
IntStream.rangeClosed(1, 100).boxed()
.flatMap(a ->
IntStream.rangeClosed(a, 100)
.filter(b -> Math.sqrt(a * a + b * b) % 1 == 0)
.mapToObj(b -> new int[]{a, b, (int) Math.sqrt(a * a + b * b)})
);
例子中想得到的是int[],使用map的话就会报错—Bad return type in lambda expression: int[] cannot be converted to int

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值