我有一个列表TeamMember对象:

class TeamMember {
    List<Sport> sports;
}


当前的任务是让具有投入运动的团队成员返回。

我已经做到了:

Observable.fromIterable(getTeamMembers())
    .flatMapIterable(teamMember -> teamMember.getSports())
    .filter(sport -> sport.equals(selectedSport))


但是,这将只是一项匹配的运动,而我的原始团队成员已经丢失。

想法?

最佳答案

将其嵌套在另一个flatMap中,您将可以访问lambda中的TeamMember

Observable.fromIterable(getTeamMembers())
        .flatMap(teamMember -> Observable.fromIterable(teamMember.getSports())
                .filter(sport -> sport.equals(selectedSport))
                .map(sportMatchingSelectedSport -> new TeamMemberWithSport(teamMember, sportMatchingSelectedSport)))

关于android - 从过滤器rxjava返回容器对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53961440/

10-08 23:47