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->//访问完整数组)
?