簡體   English   中英

如何在Rxjava中通過鍵合並兩個Observable?

[英]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具有MergeConcatZipJoin ,但是它們似乎都無法做到這一點

如果兩個流的用戶順序相同,則可以zip它們:

users.zipWith(vips, (u,v) -> new User(u.userName, u.userId, u.age, v.vip))

您可以修改u但最好選擇不變性(因此創建一個新對象)。

如果兩個流具有不同的順序,你可以使用matchWithrxjava2-演員

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM