ArrayNodeの#要素を使用して次のことができcreate a sequential Stream from a Spliterator Iteratorを返します。 StreamSupportにはSpliteratorが必要で、IteratorからSpliteratorを作成するには、Spliteratorsクラスを使用できます。
ArrayNode files = (ArrayNode) json.get("files");
Stream<JsonNode> elementStream = StreamSupport.stream(Spliterators
.spliteratorUnknownSize(files.elements(),
Spliterator.ORDERED),false);
cyclops-streamsStreamUtilsクラスは、このビットクリーナー(私は作者午前)になり、静的メソッドを持っています。 ArrayNodeはあなたがArrayNodeに渡し、直接バックストリームを取得することができますStreamUtilsと反復可能であることを考慮@JB Nizetの答えを考慮
ArrayNode files = (ArrayNode) json.get("files");
Stream<JsonNode> elementStream = StreamUtils.stream(files.elements());
。
Stream<JsonNode> elementStream = StreamUtils.stream((ArrayNode) json.get("files"));
ここで配列全体がメモリにロードされますか?私は答えが「はい」だと信じています。だからここにストリームを持っているのは何ですか? –
@AndreyKarayvanskyそれはパフォーマンスに関してではなく、 ''関数的な方法で( 'map'、' filter'、 'collect'などのメソッドを使って)' ArrayNode'コレクションを処理する 'Java 8 Stream API'メソッドを使用する能力についてです。 。 – icl7126