/** First prints "one dish", then "two dish" */ public final void printRxJavaStuff() { Observable.from(Arrays.asList("one fish", "two fish", "red fish", "blue fish")) .filter(new Func1() { @Override public Boolean call(String s) { return s.contains("one") || s.contains("two"); } }) .map(new Func1() { @Override public String call(String s) { return s.replace("fish", "dish"); } }) .subscribe(new Action1() { @Override public void call(String s) { Timber.v(s); } }); }