使用Java 8 JDK将Iterable转换为Stream

使用Java 8 JDK将Iterable转换为Stream,第1张

使用Java 8 JDK将Iterable转换为Stream

有一个比

spliteratorUnknownSize
直接使用更好的答案,这既简单又得到更好的结果。 Iterable有一个
spliterator()
方法,所以你应该使用该方法来获取分离器。在最坏的情况下,它是相同的代码(默认实现使用
spliteratorUnknownSize
),但是在更常见的情况下,你
Iterable
已经是一个集合,你将获得更好的分离器,从而获得更好的流性能(甚至可能具有良好的并行性)。它的代码也更少:

StreamSupport.stream(iterable.spliterator(), false)  .filter(...)  .moreStreamOps(...);

如你所见,从中获取流

Iterable
(也请参见此问题)并不是很痛苦。



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

原文地址: https://outofmemory.cn/zaji/5017572.html

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

发表评论

登录后才能评论

评论列表(0条)

保存