Выбрасывать каждый раз 50 предметов из огромного списка - PullRequest
0 голосов
/ 25 июня 2018

У меня есть список из более чем 1000 предметов.Я хочу создать вызов API для OnNext каждые 50 элементов каждый раз.

Я пробовал scan и window операторов, но по некоторым причинам это не сработало.

Спасибоза вашу помощь.

1 Ответ

0 голосов
/ 25 июня 2018

В проекте Extensions есть оператор с именем every:

Flowable.range(1, 5)
.compose(FlowableTransformers.<Integer>every(2))
.test()
.assertResult(2, 4);

или вы можете использовать buffer(50) и взять последний элемент буфера:

Flowable.range(1, 1024)
.buffer(50)
.filter(list -> list.size() == 50)
.map(list -> list.get(49))
.subscribe(System.out::println);
...