gpt4 book ai didi

java - RxJava HashMap 转换

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:24:56 24 4
gpt4 key购买 nike

假设我有以下数据结构:

Map<String, ObjectA> map;

和对象A:

class ObjectA {
String a;
String b;
int c;
}

我的最终目标是只返回:

Map<String, String>

其中第一个String与原来相同,第二个String为'String a'。我需要进行哪些转换才能完成此操作?

如果这是一个列表,我会使用 Observable.from(),从单个项目中获取我想要的,然后在最后使用 toList() 将它们连接在一起。但这是一张 map ,我从来没有也不知道如何在 RxJava 中对 map 执行迭代。任何帮助将不胜感激

编辑。我知道我可以使用 Observable.create 来做到这一点,并像第一个答案那样使用普通的 Java/方式来做到这一点。我真正想知道的是,如果我正在转换列表,是否有任何 Rx 运算符允许我这样做,比如 Observable.from、flatMap 和 toList

最佳答案

试试这段代码:

Observable.just(map)
.map(stringObjectAMap -> stringObjectAMap.entrySet())
.flatMapIterable(entries -> entries)
.map(e -> new AbstractMap.SimpleEntry<>(e.getKey(), e.getValue().a))
.toMap(e -> e)
.subscribe(m -> {
//do something with map
});

关于java - RxJava HashMap 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32735631/

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