为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 Stream<int[]> 转换为 Stream<Integer>

如何将 Stream<int[]> 转换为 Stream<Integer>

哆啦的时光机 2022-04-28 17:13:22
有没有办法转换Stream<int[]>为Stream<Integer>int[] arr2 = new int[] { 54, 432, 53, 21, 43 };// Below gives me Stream<int[]> Stream.of(arr2);  // I want to convert it to Stream<Integer>
查看完整描述

3 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

你可以使用Arrays.stream()

Arrays.stream(arr2).boxed();  // will return Stream<Integer>

或者IntStream.of

IntStream.of(arr2).boxed();   // will return Stream<Integer>

<整数boxed()

返回由该流的元素组成的 Stream,每个元素都装箱为 Integer。

这是一个中间操作。


查看完整回答
反对 回复 2022-04-28
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

在这种情况下有一个问题。


让我们看一个例子。如果您有一组原语并尝试直接创建一个流,您将拥有一个数组对象的流,如下所示:


// Arrays of primitives 

int[] nums = {1, 2, 3, 4, 5}; 

Stream.of(nums); // One element int[] | Stream<int[]> 

要解决此问题,您可以使用:


Arrays.stream(nums).count();  // Five Elements 

IntStream.of(nums).count(); // Five Elements


查看完整回答
反对 回复 2022-04-28
?
米脂

TA贡献1836条经验 获得超3个赞

将流装箱:

Arrays.stream(arr2).boxed();


查看完整回答
反对 回复 2022-04-28
  • 3 回答
  • 0 关注
  • 236 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信