Java 如何访问rx中以前排放的数据?

Java 如何访问rx中以前排放的数据?,java,rx-java,Java,Rx Java,问题是关于rx编程。我有一个密码: Observable.from(array) .map(array_item1 -> array_item2) .map(array_item3 -> array_item4) .map(array_item5 -> array_item6) 在第三次map调用中,我不仅需要访问array\u item5,还需要访问array\u item1或array\u item3。 应该是这

问题是关于
rx
编程。我有一个密码:

Observable.from(array)
          .map(array_item1 -> array_item2)
          .map(array_item3 -> array_item4)
          .map(array_item5 -> array_item6)
在第三次
map
调用中,我不仅需要访问
array\u item5
,还需要访问
array\u item1
array\u item3
。 应该是这样的:

...    
.map(array_item5 -> array_item5 + array_item1)
...

是否有任何特殊模式或操作员进行此操作?

如果您想访问以前的排放,您需要将其保存在某个位置。有两个操作员:

收集在单个可变结构中收集所有排放

Observable.from(Arrays.asList(1,2,3,4,5,6))
      .collect(ArrayList::new,
        (array, item) -> {
            //access previous and current emissions
            array.add(item);
        })
扫描-除收集外,它每隔一次返回所有以前的排放:

Observable.from(Arrays.asList(1,2,3,4,5,6))
    .scan(new ArrayList<>(), (array, item) -> {
           array.add(item)     
           return array;
          })
    .map(collectedItems -> {
          //access all previous and curent emissions on every new
          return collectedItems;
        })
Observable.from(Arrays.asList(1,2,3,4,5,6))
.scan(新数组列表(),(数组,项)->{
数组。添加(项)
返回数组;
})
.map(collectedItems->{
//在每一个新系统上访问所有以前和现在的排放
返回collectedItems;
})

可以简单地执行
可观察的.from(array).toList().map(array->//访问完整数组)