对于 Java 8 中的 Spliterator 来说,什么是一个好的用例场景?
2022-09-02 10:43:00
对于 Java 8 中的 Spliterator
类来说,什么是一个好的用例场景?
对于 Java 8 中的 Spliterator
类来说,什么是一个好的用例场景?
通常,应用程序开发人员不会直接使用 API。但是,如果您要提供 API,并实现自己的类似集合的类,则可以实现以使集合适应 API。这支持功能方法、并行处理和其他功能。Spliterator
Spliterator
Stream
例如,我编写了一个实用程序来枚举网络中的 IP 地址,由 CIDR 表示法指定。这不是一个真正的集合;也就是说,它不会一次携带内存中所有地址的列表,而只携带网络号和网络掩码。但是通过公开 a,它可以很容易地适应于 。(每个都只跟踪当前IP地址和其网络份额中的最大地址。Spliterator
Stream
Spliterator
来自核心 Java 运行时的另一个示例是用于遍历文件系统的 DirectoryStream
。
用例示例:“将迭代器转换为流”
public static <T> Stream<T> iteratorToFiniteStream(final Iterator<T> iterator) {
final Iterable<T> iterable = () -> iterator;
return StreamSupport.stream(iterable.spliterator(), false);
}