【问题标题】:RxJava join observable streams by matching attribute valueRxJava 通过匹配属性值加入可观察流
【发布时间】:2016-03-14 18:13:29
【问题描述】:

假设我有两个可观察的流

Observable<Book> books;
Observable<Movie> movies;

当它们具有匹配的属性时,我如何加入它们?类似于下面的伪代码:

Observable<BookMoviePair> pairs = books.join(movies)
    .where((book, movie) -> book.getId() == movie.getId()))
    .return((book, movie) -> new BookMoviePair(book, movie));

【问题讨论】:

    标签: java rx-java reactive-programming


    【解决方案1】:

    一种方法:

    Observable<BookMoviePair> pairs =
            books.flatMap(book -> movies
                    .first(movie -> movie.getId() == book.getId())
                    .map(movie -> new BookMoviePair(book, movie)));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多