gpt4 book ai didi

android - 使用 RxJava 转换 HashMap 值

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

有没有某种方式,我的意思是使用 rx 运算符,来转换每个 HashMap 值(将 hashmap 键设置为值字段)并进入一个新的 Hashmap 或 ArrList?

Observable<HashMap<String,Allergy>> observable = MyREST.getsAllergiesApi().getAllAllergiesRx();
observable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.unsubscribeOn(Schedulers.io())
.subscribe(new Subscriber<HashMap<String, Allergy>>() {
@Override
public void onCompleted() {
Log.i(TAG,"onCompleted");
}

@Override
public void onError(Throwable e) {
Log.i(TAG,"onError");
}

@Override
public void onNext(HashMap<String, Allergy> allergies) {

mView.displayAllergies(allergies);
Log.i(TAG,"onNeXt");
}
});

最佳答案

您可以在 map 中使用任何经典转换,也可以展平、映射和收集值。

Observable<Map<String, Allergy>> source = ...

source.map(map -> {
HashMap<Allergy, Allergy> newMap = new HashMap<>();
for (Allergy a : map.values()) {
newMap.put(a, a);
}
return newMap;
})
.subscribe(...)

source.flatMapIterable(map -> map.values())
.toMap(v -> v)
.subscribe(...)

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

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