Rob*_*toq 2 java android rx-java rx-java2
我有一个“父”对象列表,我想为每个对象获取一个“子”列表。我想要一个父子列表的地图。所以结果是
Map<Parent, List<Child>> result = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)
我的示例父列表:
List<Parent> parents = new ArrayList<>();
parents.add(new Parent(1, "Parent1"));
parents.add(new Parent(2, "Parent2"));
parents.add(new Parent(3, "Parent3"));
parents.add(new Parent(4, "Parent4"));
parents.add(new Parent(5, "Parent5"));
Run Code Online (Sandbox Code Playgroud)
我想迭代它们,一一问孩子
@GET("api/childs/{parentId}")
Observable<Response<List<Child>>> getChilds(@Path("parentId") int parentId);
Run Code Online (Sandbox Code Playgroud)
什么是最好的 RX 结构?
谢谢你,罗伯特
Observable.from(parents)
.concatMap(p -> getChilds(p.getId())
.map(Response::getValue)
.map(children -> Pair.of(p, children)))
.toMap(Pair::getLeft, Pair::getRight)
Run Code Online (Sandbox Code Playgroud)
Pair两个值left和的简单包装器在哪里right?