2016-03-13 21 views
5

Cho phép nói rằng tôi có hai con suối quan sátRxJava tham gia suối thể quan sát được bằng cách kết hợp giá trị thuộc tính

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

Làm thế nào tôi có thể tham gia những ngày khi họ có một thuộc tính phù hợp? Một cái gì đó giống như mã psudo dưới đây:

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

Trả lời

3

Một cách để làm việc đó:

Observable<BookMoviePair> pairs = 
     books.flatMap(book -> movies 
       .first(movie -> movie.getId() == book.getId()) 
       .map(movie -> new BookMoviePair(book, movie))); 
Các vấn đề liên quan