Iterator[A]
(のサイズは無限です)とし、Iterator[B]
からタイプAの後続の値が集計されたとします。Scalaに集約パターンを書くには?
例: は、私は文字列のリストを持っている:
Iterator(
"START",
"DATA1",
"DATA2",
"DATA3",
"START",
"DATA1",
"DATA2",
//.. 10^10 more records
)
私は除いて、次の開始にSTARTから文字列に参加したいです。私。パーザを書く。
Iterator(
"START DATA1 DATA2 DATA3",
"START DATA1 DATA2",
//.. 10^10/5 more records
)
私はこれを絶対に行う方法を知っていますが、私はスカラ高次関数でそれを達成したいと思います。何か案は?
PS EIP集約http://camel.apache.org/aggregator2.html。
私はちょっと混乱しています。イテレータの基礎となる実装がストリームの場合、なぜそれで十分ではないでしょうか?つまり、私たちがIteratorを使うことができるときにストリームを明示的に使用するのはなぜでしょうか?そのIteratorがStreamを繰り返し処理する場合はどうでしょうか? –
イテレータは変更可能です。 'next'を呼び出すと、反復子の状態が変わります。私はちょうど完全に機能的なソリューションを提供したかった。 – paradigmatic
ああ、十分です。どうも。私は、もっと邪悪なものがないことを確かめていました。 –