joh*_*crq 6 java android transformation hashmap rx-java
假设我有以下数据结构:
Map<String, ObjectA> map;
Run Code Online (Sandbox Code Playgroud)
和ObjectA:
class ObjectA {
String a;
String b;
int c;
}
Run Code Online (Sandbox Code Playgroud)
我的最终目标是回归:
Map<String, String>
Run Code Online (Sandbox Code Playgroud)
其中第一个String与原始String相同,第二个String是'String a'.我需要做些什么改造呢?
如果这是一个列表,我会使用Observable.from(),从单个项目中获取我想要的东西,然后在最后将它们与toList()连接在一起.但这是一张地图,我从来没有也不知道如何在RxJava中对地图进行迭代.任何帮助,将不胜感激
编辑.我知道我可以使用Observable.create来执行此操作并使用正常的Java /方式来完成它,就像第一个回答状态一样.我真正想知道的是,是否有任何Rx操作符允许我这样做,如Observable.from,flatMap和toList,如果我正在转换列表
Ale*_*der 16
试试这段代码:
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
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5944 次 |
| 最近记录: |