java - 使用 Stream.reduce 的求逆和不正确
问题描述
使用 Stream.reduce 求逆求和不正确,这里出了什么问题?
double[] array = {1.0, 2.0};
double iunversionSum = Arrays.stream(array).reduce(0.0, (a, b) -> Double.sum(1.0 / a, 1.0 / b));
输出为 0.5 但预期为 1.5 (1/1 + 1/2)
解决方案
我认为使用map()
它可能更简单。
double inversionSum = Arrays.stream(arr).map(val -> 1 / val).sum();
推荐阅读
- kubernetes - ubuntu 中的 kubernetes 和外部 DNS
- reactjs - react native flatlist 高度无法自动更改
- excel - 如何在 Excel 中计算样本子组内的相关性
- android - Android BroadcastReceiver没有触发
- c# - 如何正确取消任务并捕获 OperationCanceledException?
- python - ModuleNotFoundError:没有名为“gspread”的模块
- api - GetMapping 在 Spring Boot 中返回错误 405
- reactjs - 在 react-admin 中通过 REST API 进行基于 Cookie 的身份验证
- javascript - 尝试为其他数据添加新的表单字段并获得奇怪的回报
- browser - unicode box-drawing 无法在浏览器中正确呈现