【发布时间】:2017-09-04 23:34:48
【问题描述】:
我正在尝试在 RxJava2 中实现一个简单的滑动窗口功能,但努力做我想做的事。
我的目标是获取对象流,即
["a", "b", "c", "d", "e"]
并应用一个滑动窗口,它将返回与每个元素相邻的元素。
即导致:
["a", "b"]
["a", "b", "c"]
["b", "c", "d"]
["c", "d", "e"]
["d", "e"].
I.E.
a----------------b----------------c----------------d----------------e
↓ ↓ ↓ ↓ ↓
↓ ↓ ↓ ↓ ↓
↓ ↓ ↓ ↓ ↓
↓ ↓ ↓ ↓ ↓
["a", "b"] ["a", "b", "c"] ["b", "c", "d"] ["c", "d", "e"] ["d", "e"]
我似乎无法弄清楚如何做到这一点。 Google Groups 的帖子似乎走在了正确的轨道上,但并没有完全得到我需要的结果: https://groups.google.com/forum/#!topic/rxjava/k-U5BijXinU
有什么想法吗?
【问题讨论】:
-
我认为问题标题不适合问题陈述。滑动窗口类似于this,而您似乎想要每个元素的相邻元素。
-
您的图表有问题。在项目实际作为输入到达之前,您不可能将其作为输出发出。例如。在收到“a”和“b”项后,您不能说下一个相邻项是“c”。否则
buffer()方法就可以了。 -
@jrook 我觉得和滑动窗口一样,但边界条件不同。
-
@YaroslavStavnichiy 可以为我的目的进行相位延迟,即缓冲是可以的。
标签: java rx-java rx-java2 reactivex