I have a service like this
 @GET("/")
fun getInfo(@Query("pew") pew1: Double, @Query("pew2") pew2: Double): Observable<PewResponse>
So now, when I have this
I have a List to fill with server data
private var mPewList: MutableList<PewList> = arrayListOf()
And then I have this function
override fun getResultFromNetwork(): Observable<PewResponse> {
    val pewObservable = pewService.getInfo("pew1","pew2")
    return pewObservable.concatMap {
      //How do I fill my list ??
    }
}
I'm pretty new to this rxJava so I saw people using Single and other guys using Observable what's better?
EDIT
I'm following this example https://github.com/joanby/android-mvp/blob/master/MoviesFeed/app/src/main/java/com/juangabriel/moviesfeed/movies/MoviesRepository.java
And now I want to do something like this :
@Override
public Observable<Result> getResultFromNetwork() {
    Observable<TopMoviesRated> topMoviesRatedObservable = moviesApiService.getTopMoviesRated(1)
            /*.concatWith(moviesApiService.getTopMoviesRated(2))
            .concatWith(moviesApiService.getTopMoviesRated(3))*/;
    return topMoviesRatedObservable
            .concatMap(new Function<TopMoviesRated, Observable<Result>>() {
                @Override
                public Observable<Result> apply(TopMoviesRated topMoviesRated) {
                    return Observable.fromIterable(topMoviesRated.getResults());
                }
            }).doOnNext(new Consumer<Result>() {
                @Override
                public void accept(Result result) {
                    results.add(result);
                }
            });
}
So as I'm seeing he fills the result list, and then on presenter do this : https://github.com/joanby/android-mvp/blob/master/MoviesFeed/app/src/main/java/com/juangabriel/moviesfeed/movies/MoviesPresenter.java
 
    