我正在嘗試創建一個可以通過類似Iterator
的東西來消費的流。 我正在實現一個公開類似於迭代器的接口的庫,所以這對我來說是最簡單的東西。如何從akka流源獲取迭代器?
我目前設計的圖形本質上是Source<Iterator<DataRow>>
。有一件事我看到到目前爲止是將其壓扁到Source<DataRow>
然後用後跟https://docs.oracle.com/javase/8/docs/api/java/util/stream/BaseStream.html#iterator--
http://doc.akka.io/japi/akka/current/akka/stream/javadsl/StreamConverters.html#asJavaStream--但考慮到會有很多可能的許多行,我想知道是否會有意義,以避免整平步驟(以至少在akka流的上下文中,我假設當通過階段傳遞時有一些次要的元素開銷),或者如果有更直接的方式。
另外,我很好奇背壓如何在創建的流中工作,特別是兒童迭代器;它只緩衝一個元素嗎?
您能否詳細說明*爲什麼*您需要*將它變成一個Iterator? –
我正在實現一個暴露數據行(實質上是迭代器接口)的只向前遊標的api。要麼我需要消費一個迭代器,要麼基本上在其他東西上實現一個迭代器。 – Bwmat