Skip to content

Instantly share code, notes, and snippets.

@thuytrinh
Created December 11, 2014 10:38
Show Gist options
  • Save thuytrinh/55386565160919b31ba8 to your computer and use it in GitHub Desktop.
Save thuytrinh/55386565160919b31ba8 to your computer and use it in GitHub Desktop.
Observable.from(Arrays.array(1, 2, 3, 4, 5))
        .groupBy(new Func1<Integer, Boolean>() {
            @Override
            public Boolean call(Integer number) {
                return number % 2 == 0;
            }
        })
        .flatMap(new Func1<GroupedObservable<Boolean, Integer>, GroupedObservable<Boolean, Integer>>() {
            @Override
            public GroupedObservable<Boolean, Integer> call(GroupedObservable<Boolean, Integer> observable) {
                return observable;
            }
        })
        .toList()
        .subscribe(new Action1<List<Integer>>() {
            @Override
            public void call(List<Integer> numbers) {
                Log.d("AwesomeRx", numbers.toString());
            }
        });

Output: [1, 2, 3, 4, 5]

Observable.from(Arrays.array(1, 2, 3, 4, 5))
        .groupBy(new Func1<Integer, Boolean>() {
            @Override
            public Boolean call(Integer number) {
                return number % 2 == 0;
            }
        })
        .subscribe(new Action1<GroupedObservable<Boolean, Integer>>() {
            @Override
            public void call(GroupedObservable<Boolean, Integer> observable) {
                observable.toList().subscribe(new Action1<List<Integer>>() {
                    @Override
                    public void call(List<Integer> numbers) {
                        Log.d("AwesomeRx", numbers.toString());
                    }
                });
            }
        });

Output: [1, 3, 5] [2, 4]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment