Steam.spliteratorで作成されたストリームに対して繰り返し処理できません。私は同じことについてのドキュメントを見つけることができませんでした。IterableでSteam.spliteratorで作成されたストリーム(2回目)を反復処理できません
私はfunciton引数としてIterable
を持って、私は次のコードのようなストリームを介しこれを反復しています:
StreamSupport.stream(values.spliterator(), false)
と、次の私は再びそれをやっているということが、ここで
は私がやっているものですもう1つは何も繰り返さない。私はそれをデバッグするのに多くの時間を費やし、最後にiterableを最初のリストに変換しました。理由を知っている人はいますか?
編集:私は明確で、
ないです場合は申し訳ありませんが、私は同じ反復処理可能と以上のようにストリームを生成して、ストリームを複数回使用していませんでした。
Iterableは、MapReduceジョブのreduceから来るものです。
おかげで、 Hareendra
同じイテレータオブジェクトを使用しているか、新しいイテレータオブジェクトを生成していますか? – dahui
あなたは 'Stream'しか使用できませんので、' Spliterator'を一度使用することができます。その理由は – fge
私はIterable(上記の例の値)を持っています。 StreamSupport.stream(values.spliterator()、false)を使用してストリームを作成しています –