我有一个 Flowable<Entity> entities
和 Single<Set<Long>> attributeTypesToInclude
。我想修改每个entity
-删除attributeTypesToInclude
中未存在的属性并返回转换后的Flowable<Entity>
。如果不是单个,我可以在entities
上使用map
。我不确定如何使用涉及的Single
实现此目的。
Entity
和Attribute
的示例定义:
class Entity {
List<Attribute> attributes;
}
class Attribute {
long type;
String value;
}
我认为flatMapSingle
是我想要的。这可能有效:
entities
.flatMapSingle(entity -> transformEntitySingle(entity, attributesToInclude));
Single<Entity> transformEntitySingle(Entity entity, Single<List<Long>> attributesToInclude) {
return attributesToInclude
.map(attrs -> transformEntity(entity, attrs))
}
Entity transformEntity(Entity entity, List<Long> attributes) {
// Fairly trivial
}