【发布时间】:2021-05-07 19:26:27
【问题描述】:
val flowable01 = Flowable.fromArray(listOf(
Value(epoch = 1,string ="apple"),
Value(epoch = 2,string ="apple"),
Value(epoch = 3,string ="apple"),
Value(epoch = 4,string ="apple"),
Value(epoch = 5,string ="apple"),
Value(epoch = 6,string ="apple"),
Value(epoch = 7,string ="apple"),
Value(epoch = 8,string ="apple"),
Value(epoch = 9,string ="apple"),
Value(epoch = 10,string ="apple"),
))
val flowable02 = Flowable.fromArray(listOf(
Value(epoch = 2,string ="orange"),
Value(epoch = 3,string ="orange"),
Value(epoch = 5,string ="orange"),
Value(epoch = 8,string ="orange"),
Value(epoch = 10,string ="orange"),
))
flowable01.filter { it.epoch == flowable02.emission.epoch }
.map { Value(it.epoch, "juice") }
如何组合两个可流动的并仅从排放中过滤出相同的值并将其映射到另一个数据类? 也许使用 combineLatest/zip
//Result:
Value(epoch = 2,string ="juice")
Value(epoch = 3,string ="juice")
Value(epoch = 5,string ="juice")
Value(epoch = 8,string ="juice")
Value(epoch = 10,string ="juice")
【问题讨论】:
-
数字是否按升序排列?一个序列总是另一个序列的子集吗?数字可以重复吗?
-
纪元(时间)中的数字,按递增顺序排列,不重复。是的,第二个流动是第一个的子集。 @Progman
-
在这个例子中是的,但是它在数据类中,我需要他们两个的值来创建另一个数据类)
-
请edit您的问题表明您的实际情况以及您正在尝试做什么。您在评论中描述的问题与您在问题中描述的问题不同。
-
已编辑,这正是我想要的