我有一个发出整数的Observable:
n-1
将发出Observable.just(1, 2, 3, 4)
如何应用在最后1,2,3,4
发射下运行的函数,如(伪代码)
n
(2是应该应用函数的排放数量)
会发出Observable.just(1, 2, 3, 4).doWithLatest(2, { i1, i2 -> i1 + i2 })
(最后两次排放的总和,作为函数提供)?
答案 0 :(得分:3)
使用滑动缓冲区:
Observable.range(1, 4)
.buffer(2, 1)
.filter(list -> list.size() == 2)
.map(list -> list.get(0) + list.get(1))
.test()
.assertResult(3, 5, 7);