Collectors.summingInt()与mapToInt()。sum()

Collectors.summingInt()与mapToInt()。sum(),第1张

Collectors.summingInt()与mapToInt()。sum()

您正在看两个否则不同的用例的交集。使用

mapToInt(…)
可使您
IntStream
在终端 *** 作之前链接其他 *** 作。相反,
Collectors.summingInt(…)
可以与其他收集器组合,例如用作收集器中的下游收集
groupingBy
器。对于这些用例,毫无疑问要使用哪个。

在您的特殊情况下,当您不链接更多 *** 作或不首先与收集器打交道时,这两种方法之间没有根本区别。尽管如此,使用更具可读性的方法还是有道理的。通常,当流上存在预定义的 *** 作时,您就不会使用收集器。

collect(Collectors.reducing(…))
只要可以使用就不会使用
.reduce(…)
,是吗?

不仅被

mapToInt(mapFunc).sum()
短路,而且还遵循通常的从左到右的顺序进行概念上的处理,首先转换为an
int
,然后将这些
int
s
相加。我认为这证明了选择这种替代方案是合理的
.collect(Collectors.summingInt(mapFunc))




欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5475504.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存