Rx java 创建rxjava观察

Rx java 创建rxjava观察,rx-java,rx-java2,Rx Java,Rx Java2,我怎样才能创造出像图中那样的观察结果? 我想得到点击事件1、3和4,并去掉2,因为1、2、3非常接近(彼此之间的距离小于200ms)。 如果我有点击事件1,2,3,4,5,6,7,8,9,10,我只想得到1,6,7,9,10。因为1,2,3,4,5,6发生得非常接近(比如说

我怎样才能创造出像图中那样的观察结果? 我想得到点击事件1、3和4,并去掉2,因为1、2、3非常接近(彼此之间的距离小于200ms)。 如果我有点击事件1,2,3,4,5,6,7,8,9,10,我只想得到1,6,7,9,10。因为1,2,3,4,5,6发生得非常接近(比如说<200ms),所以我只想得到第一个和最后一个。 对不起,我的英语不好,很难解释:)

我相信接线员就是你们需要的

例如:

    Observable.from(events).buffer(1, TimeUnit.SECONDS).
       subscribe(objects -> System.out.println(String.format("got {} items", objects.size())));

使用Debounce运算符根据时间跳过某些事件。这是Debounce运算符的文档

在该运算符中,每次收到值时都会启动一个时间窗口。窗口过期后,将发出该值。但是,如果在窗口过期之前收到另一个值,则会拒绝上一个值,并为下一个值重新启动窗口

让我们看看下面这个简单的例子

    Observable.range(0, 10)
            .debounce(100, TimeUnit.MILLISECONDS);
在这里,将发出整数值0-10。假设1在0之后发射20毫秒,2在1之后发射120毫秒

因此,由于0和1在时间范围内出现,因此“去盎司”操作符将只发出1和2。而1和2的间隔为100毫秒


您是否尝试使用
sampleFirst()
运算符仅收集所需的数据?成功了吗?