title: Rx Android combine multiple calls to the same service in parallel
body: <p>I have to improve an old service which is making multiple consecutive calls to the same service and merging all the results in a single list. </p>
  
  <p>Imagine we have a list of IDS = [ 1 ,2 3, .. 6]  So I have to call to the same API with each ID (with retrofit and Observables). </p>
  
  <p>For doing this I'd like to use Rx Android but I have doubts about how to merge the results.</p>
  
  <pre><code>        Integer[] ids = {1, 2, 3};
  
          Observable.from(ids)
                  .map(id -&gt; mApi.getData(id))
  </code></pre>
  
  <p>Can we do parallel calls and merge the result following the same order?</p>
  
  <p>For improving the time response the idea is to do this in Parallel but I don't know how to be sure the result will be combined following the same order we do the server calls. </p>
  
  <p>I thought to use <strong>concat</strong> (<a href="http://reactivex.io/documentation/operators/concat.html" rel="nofollow noreferrer">http://reactivex.io/documentation/operators/concat.html</a>)  but it waits the previous observable to wait. </p>