我已经obs1 = Observable.range(1, 10)
然后obs2 = Observable.range(5, 10)
(通常序列不会按顺序递增)。
我想获得 obs2和obs1 之间的设定差异,以从obs2中获取不在obs1中的值(可观察到它们)。
答案 0 :(得分:1)
您可以将obs1
中的项目收集到HashSet
,然后通过obs2
过滤set::contains
:
obs1.collect(HashSet::new, (a, b) -> a.add(b))
.flatMapObservable(set ->
obs2.filter(set::contains)
)
.subscribe(System.out::println);