首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >reduce补充

reduce补充

作者头像
阿超
发布2022-08-16 19:10:50
发布2022-08-16 19:10:50
7440
举报
文章被收录于专栏:快乐阿超快乐阿超

先发制人,后发制于人。——《汉书》

关于stream中的reduce这里做个补充

我们使用reduce常用的其实有两种方式

代码语言:javascript
复制
System.out.println("求和:" + random.ints().limit(10).boxed().reduce(Integer::sum).orElseThrow(() -> new RuntimeException("求和失败")));
        System.out.println("求和2:" + random.ints().limit(10).boxed().reduce(0, Integer::sum));

这里求和2中我们传入参数0,表示后面返回的是和参数0同类型的返回值

但如果使用第一种,返回的则是Optional

这里其实还有第三种重载方法,但这种方法我们使用场景较少

代码语言:javascript
复制
System.out.println("求和3:" + random.ints().limit(10).boxed().reduce(0, (i1, i2) -> Integer.sum(i1, i2), (i1, i2) -> null));

我们可以直接返回null

或者任意给一个

代码语言:javascript
复制
System.out.println("求和3:" + random.ints().limit(10).boxed().reduce(0, Integer::sum, Integer::sum));

因为通常情况下是不会执行第三个参数传入的Function

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档