blackpanther
blackpanther

Reputation: 11486

Flatten a list in RxJava 2

I have been using RxJava 1 for some time but I want to look at RxJava 2. In RxJava 1, I could emit each item of list as follows:

List<String> list = ...
Observable.from(list)
    .filter(str -> str.contains("Help")
    .subscribe(...);

However, how can I achieve the same with RxJava2? I have tried to use the following but I can't seem to get past the following:

Observable.fromArray(list)
// this now passes a list into the stream - there is no Observable::from

Upvotes: 7

Views: 8820

Answers (1)

Alexander Perfilyev
Alexander Perfilyev

Reputation: 6839

You need to use fromIterable() since any List<T> extends Collection<T> which extends Iterable<T>

Observable.fromIterable(list)
          .filter(str -> str.contains("Help")
          .subscribe(...);

Upvotes: 24

Related Questions