RxAndroid - 从flatMap返回一个arraylist

Adn*_*lla 2 android rx-java retrofit rx-android

我刚刚开始钻研RxJava/RxAndroid和Retrofit.我喜欢RxAndroid提供的强大功能,但我被困在一个特定的地方,似乎无法找到解决方案.我基本上有一个API,它接受用户并从API获取有关该用户的信息,而这非常有用,我想做的不是返回每个用户的信息,而是单独返回userinfo的arraylist.

 Observable.from(interestingUsers)  //3 users declared statically for test
              .flatMap(user -> gitHubService.getUserData(user))
              .observeOn(AndroidSchedulers.mainThread())
              .subscribe(gitHubUser -> Log.e("Log", "User data returned : " + gitHubUser.getName()));
Run Code Online (Sandbox Code Playgroud)

上面的代码只是将各个用户记录三次,我想要的是作为单个结果返回的3个用户的列表.

我知道这可能是微不足道的,我无法弄明白.任何帮助,将不胜感激.

Vla*_*nov 7

Observable.toList转换Observable<T>Observable<List<T>>:

Observable.from(interestingUsers)
    .flatMap(user -> gitHubService.getUserData(user))
    .toList()
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(users -> {
        for (final User user : users) {
            Log.e("Log", "User data returned : " + user.getName())
        }
    });
Run Code Online (Sandbox Code Playgroud)