Exemplo n.º 1
0
  public static void main(String[] args) {
    Observable<Integer> observable1 = Observable.just(1, 2, 3, 4, 5, 6, 7);
    Observable<String> observable2 = Observable.just("a", "b", "c", "d");
    Observable<Double> observable3 = Observable.just(1.0, 2.0, 3.0, 4.0, 5.0);

    observable1
        .zipWith(
            observable2,
            new Func2<Integer, String, Object>() {
              @Override
              public Object call(Integer integer, String s) {
                return integer + ":" + s;
              }
            })
        .subscribe(s -> System.out.println("s = " + s));

    Observable.zip(
            observable1,
            observable2,
            new Func2<Integer, String, String>() {
              @Override
              public String call(Integer integer, String s) {
                return integer + "--->" + s;
              }
            })
        .subscribe(v -> System.out.println("v = " + v));

    Observable.zip(
            observable1,
            observable2,
            observable3,
            new Func3<Integer, String, Double, Object>() {
              @Override
              public Object call(Integer integer, String s, Double aDouble) {
                return integer + "," + s + "," + aDouble;
              }
            })
        .subscribe(res -> System.out.println("res = " + res));
  }