gpt4 book ai didi

java - RxJava - 将列表和请求转换为 map

转载 作者:太空狗 更新时间:2023-10-29 16:28:56 24 4
gpt4 key购买 nike

我有一个“父”对象列表,我想为每个对象获取一个“子”列表。结果我想要一张父子列表的 map 。所以结果是

Map<Parent, List<Child>> result = new HashMap<>();

我的示例父列表:

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"));

我想迭代它们,一个一个地问 child

 @GET("api/childs/{parentId}")
Observable<Response<List<Child>>> getChilds(@Path("parentId") int parentId);

最好的 RX 结构是什么?

谢谢,罗伯特

最佳答案

Observable.from(parents)
.concatMap(p -> getChilds(p.getId())
.map(Response::getValue)
.map(children -> Pair.of(p, children)))
.toMap(Pair::getLeft, Pair::getRight)

Pair 是两个值 leftright 的简单包装。

关于java - RxJava - 将列表和请求转换为 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43736186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com