gpt4 book ai didi

java - 如何在Rxjava中按键合并两个Observable?

转载 作者:行者123 更新时间:2023-12-02 11:05:17 25 4
gpt4 key购买 nike

我有一个可观察的

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,但它们看起来都可以不要这样做

最佳答案

如果两个流的用户顺序相同,那么您可以压缩它们:

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

您可以修改 u 但最好更喜欢不变性(因此创建一个新对象)。

如果两个流的顺序不同,您可以使用 rxjava2-extras 中的 matchWith .

关于java - 如何在Rxjava中按键合并两个Observable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51015621/

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