2017-07-27 3 views
0

Ich habe eine Liste von Elementen und ich möchte n Elemente aus dieser Liste gleichzeitig verarbeiten. Wie kann ich es auf RX-Weise machen?Nehmen Sie n Elemente aus einer Liste in RxJava2

Ich schaute auf take Operator, aber das dauert nur erste n oder letzte n Elemente. Ich muss alle Elemente in einer Liste aber n gleichzeitig verarbeiten.

Idealerweise sollte ich mehrere Listen der Größe n aus einer größeren Liste bekommen.

+0

warum zersplittern Sie die Liste nicht selbst mit 'subList()'? – Lino

+0

Ich möchte es in RX-Weise mit Observablen tun. –

Antwort

1

könnten Sie verwenden window() (oder eines seiner überladenen Varianten):

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

Oder, wenn Sie zu ‚füllen‘ für das Fenster zu warten, nicht haben wollen, dann vielleicht buffer() (oder einer der seine überladenen Varianten):

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

Ich habe Puffer verwendet, danke! –

Verwandte Themen