![](/img/trans.png)
[英]RxJava: How to .zip two Observable, then .merge them and eventually .reduce to aggregate all results
[英]how to merge two Observable by key in Rxjava?
我有一個可觀察的
class User {
public int userId;
public String userName;
public int age;
public Boolean vip;
}
數據集:
userId userName age vip
1 ham 21 false
2 lily 18 false
3 potter 38 false
可見b
class VIP {
public int userId;
public Boolean vip;
}
數據集:
userId vip
1 true
預期的合並結果:
userId userName age vip
1 ham 21 true
2 lily 18 false
3 potter 38 false
眾所周知,Rxjava具有Merge
, Concat
, Zip
, Join
,但是它們似乎都無法做到這一點
如果兩個流的用戶順序相同,則可以zip
它們:
users.zipWith(vips, (u,v) -> new User(u.userName, u.userId, u.age, v.vip))
您可以修改u
但最好選擇不變性(因此創建一個新對象)。
如果兩個流具有不同的順序,你可以使用matchWith
從rxjava2-演員 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.