Questions tagged «spliterator»

4
了解Java 8中的Spliterator,Collector和Stream
我在理解StreamJava 8中的接口时遇到了麻烦,尤其是与Spliteratorand Collector接口有关的接口。我的问题是我根本无法理解Spliterator和Collector接口的是,作为一个结果,Stream接口仍然有些模糊了我。 Spliterator和和到底是什么Collector,我如何使用它们?如果我愿意写我自己Spliterator或Collector(和可能是我自己Stream在这个过程中),我应该怎样做和不能做? 我阅读了一些分散在网络上的示例,但是由于此处的所有内容仍然是新内容并且随时可能更改,因此示例和教程仍然非常稀疏。

2
您可以重新平衡大小未知的不平衡分离器吗?
我想使用a Stream来并行处理一组未知数量的远程存储的JSON文件的异类(文件数量事先未知)。文件的大小可以相差很大,从每个文件1个JSON记录到其他文件中的100,000个记录。一个JSON记录在这种情况下是指表示为文件中的一条线的自包含JSON对象。 我真的很想为此使用Streams,所以我实现了这一点Spliterator: public abstract class JsonStreamSpliterator<METADATA, RECORD> extends AbstractSpliterator<RECORD> { abstract protected JsonStreamSupport<METADATA> openInputStream(String path); abstract protected RECORD parse(METADATA metadata, Map<String, Object> json); private static final int ADDITIONAL_CHARACTERISTICS = Spliterator.IMMUTABLE | Spliterator.DISTINCT | Spliterator.NONNULL; private static final int MAX_BUFFER = 100; private final Iterator<String> paths; private JsonStreamSupport<METADATA> reader = …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.