From 5071fa912e4a18914d88f6fab74e59e134753bb4 Mon Sep 17 00:00:00 2001 From: Jon Schneider Date: Fri, 14 Nov 2014 15:27:17 -0800 Subject: [PATCH 1/3] Scan/Reduce Fix --- src/main/java/learnrxjava/ObservableExercises.java | 4 ++-- .../learnrxjava/examples/ScanVsReduceExample.java | 12 +++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/learnrxjava/ObservableExercises.java b/src/main/java/learnrxjava/ObservableExercises.java index a7c5d00..1b6b34b 100644 --- a/src/main/java/learnrxjava/ObservableExercises.java +++ b/src/main/java/learnrxjava/ObservableExercises.java @@ -38,7 +38,7 @@ public Observable exerciseFilterMap(Observable nums) { /** * Flatten out all video in the stream of Movies into a stream of videoIDs * - * @param movieLists + * @param movies * @return Observable of Integers of Movies.videos.id */ public Observable exerciseConcatMap(Observable movies) { @@ -55,7 +55,7 @@ public Observable exerciseConcatMap(Observable movies) { * * We'll see more about this later when we add concurrency. * - * @param movieLists + * @param movies * @return Observable of Integers of Movies.videos.id */ public Observable exerciseFlatMap(Observable movies) { diff --git a/src/main/java/learnrxjava/examples/ScanVsReduceExample.java b/src/main/java/learnrxjava/examples/ScanVsReduceExample.java index 2c2ec65..495d7f1 100644 --- a/src/main/java/learnrxjava/examples/ScanVsReduceExample.java +++ b/src/main/java/learnrxjava/examples/ScanVsReduceExample.java @@ -5,16 +5,22 @@ import rx.Observable; public class ScanVsReduceExample { - public static void main(String... args) { + System.out.println("reduce ..."); Observable.range(0, 10).reduce(new ArrayList<>(), (list, i) -> { list.add(i); return list; }).forEach(System.out::println); - System.out.println("... vs ..."); + System.out.println("... vs collect ..."); + + Observable.range(0, 10).collect(() -> new ArrayList<>(), (list, i) -> { + list.add(i); + }).forEach(System.out::println); + + System.out.println("... vs scan ..."); - Observable.range(0, 10).scan(new ArrayList<>(), (list, i) -> { + Observable.range(0, 10).scan(new ArrayList(), (list, i) -> { list.add(i); return list; }).forEach(System.out::println); From 68790c19bd992544fbad518fa80be2aaf9102e78 Mon Sep 17 00:00:00 2001 From: Ben Christensen Date: Wed, 19 Nov 2014 14:06:09 -0800 Subject: [PATCH 2/3] RxJava 1.0.0 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 3653e15..f700440 100644 --- a/build.gradle +++ b/build.gradle @@ -11,6 +11,6 @@ repositories { } dependencies { - compile "io.reactivex:rxjava:1.0.0-rc.10" + compile "io.reactivex:rxjava:1.0.0" testCompile "junit:junit:4.11" } From 1c071de939189f3f708532c080587c7602d085fc Mon Sep 17 00:00:00 2001 From: Ben Christensen Date: Wed, 19 Nov 2014 14:07:47 -0800 Subject: [PATCH 3/3] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ecbfc3..4a23e21 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Reactive Streams in Java +### Reactive Programming in Java A sequential program runs on a flat timeline. Each task is only started after the previous one completes. In concurrent programs, multiple tasks may be running during the same time period and a new task may begin at any time.