问题:
你有一个返回 Iterable
解决方案:
要将 Iterable 转换为 Stream 而不将其转换为 List,可以使用StreamSupport.stream() 方法。此方法采用 Spliterator 对象,该对象可以从 Iterable 的 spliterator() 方法获取。
以下是如何将 Iterable 转换为 Stream 的示例:
Iterable<T> iterable = ...; Stream<T> stream = StreamSupport.stream(iterable.spliterator(), false);
一旦你有了Stream,您可以执行常见的流操作,例如过滤、映射和
注意:
与直接使用 spliteratorUnknownSize() 方法相比,StreamSupport.stream() 方法提供了一种更有效的方法将 Iterable 转换为 Stream 。 spliteratorUnknownSize() 方法始终创建一个新的 Spliterator 对象,如果 Iterable 已经是一个集合,则该对象的效率可能会很低。 StreamSupport.stream() 方法使用 Iterable 中现有的 Spliterator 对象(如果可用),从而提高性能。
以上是如何高效地将Java Iterables转换为Streams?的详细内容。更多信息请关注PHP中文网其他相关文章!