2017-07-27 103 views
0

我有一個元素列表,我想從該列表中一次處理n個元素。我怎樣才能以RX的方式做到這一點?從RxJava2中的列表中一次取出n個元素

我看了一下take算子,但它只取第n個或最後n個元素。我需要處理列表中的所有元素,但一次處理n個元素。

理想情況下,我應該從一個更大的列表中得到多個大小爲n的列表。

+0

爲什麼不用'subList()'自己分割列表? – Lino

+0

我想用RX方式使用observables來做它。 –

回答

1

你可以使用window()(或它的一個變種重載的):

observable.window(batchSize).subscribe(...) 

或者,如果你不希望有等待窗口「補」,那麼也許buffer()(或之一它的過載變量):

observable.buffer(batchSize).subscribe(...) 
+0

我用過緩衝區,謝謝! –

相關問題