Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.99 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.List;
  4.  
  5. import rx.Observable;
  6. import rx.Observer;
  7. import rx.functions.Func2;
  8.  
  9. public class RxJavaExamples {
  10.  
  11. public static void main(String[] args) {
  12. new RxJavaExamples().zip();
  13.  
  14. new RxJavaExamples().zip2();
  15.  
  16. new RxJavaExamples().map();
  17.  
  18. new RxJavaExamples().take();
  19.  
  20. new RxJavaExamples().filter();
  21.  
  22. new RxJavaExamples().reduce();
  23. }
  24.  
  25.  
  26.  
  27.  
  28. //This does not use lambda. See zip2 for use of lambda.
  29. public void zip() {
  30. Observable<Integer> obs1 = Observable.from(Arrays.asList(1, 3, 5, 7, 9));
  31. Observable<Integer> obs2 = Observable.from(Arrays.asList(2, 4, 6));
  32.  
  33. Observable<List<Integer>> obs = Observable.zip(obs1, obs2, new Func2<Integer, Integer, List<Integer>>() {
  34. public List<Integer> call(Integer value1, Integer value2) {
  35. List<Integer> list = new ArrayList<Integer>();
  36. list.add(value1);
  37. list.add(value2);
  38.  
  39. return list;
  40. }
  41. });
  42.  
  43. obs.subscribe(new Observer<List<Integer>>() {
  44. public void onCompleted() {
  45. System.out.println("completed");
  46. }
  47.  
  48. public void onError(Throwable e) {
  49. System.out.println("failure");
  50. }
  51.  
  52. public void onNext(List<Integer> value) {
  53. System.out.println("onnext=" + value);
  54. }
  55. });
  56.  
  57. }
  58.  
  59.  
  60.  
  61.  
  62. public void zip2() {
  63. Observable<Integer> obs1 = Observable.from(1, 3, 5, 7, 9);
  64. Observable<Integer> obs2 = Observable.from(2, 4, 6);
  65.  
  66. Observable<List<Integer>> obs = Observable.zip(obs1, obs2, (value1, value2) -> {
  67. List<Integer> list = new ArrayList<Integer>();
  68. list.add(value1);
  69. list.add(value2);
  70.  
  71. return list;
  72. });
  73.  
  74. obs.subscribe((value) -> {
  75. System.out.println("SubscribeValue = " + value);
  76. });
  77. }
  78.  
  79.  
  80.  
  81.  
  82. // MapValue = 1
  83. // SubscribeValue = 1aaa
  84. // MapValue = 2
  85. // SubscribeValue = 2aaa
  86. // MapValue = 3
  87. // SubscribeValue = 3aaa
  88. private void map() {
  89. Observable<Integer> obs = Observable.from(1, 2, 3);
  90.  
  91. Observable<String> map = obs.map(value -> {
  92. System.out.println("MapValue = " + value);
  93. return value + "aaa";
  94. });
  95.  
  96. map.subscribe((value) -> {
  97. System.out.println("SubscribeValue = " + value);
  98. });
  99. }
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107. //one
  108. //two
  109. private void take() {
  110. Observable<String> obs = Observable.from("one", "two", "three");
  111. Observable<String> take2 = obs.take(2);
  112.  
  113. take2.subscribe(arg -> {
  114. System.out.println(arg);
  115. });
  116.  
  117. }
  118.  
  119.  
  120.  
  121.  
  122. //SubscribeValue = 1
  123. //SubscribeValue = 2
  124. //SubscribeValue = 3
  125. private void filter() {
  126. Observable.from(1, 2, 3, 4, 5)
  127. .filter(v -> {
  128. return v < 4;
  129. })
  130. .subscribe(value -> {
  131. System.out.println("SubscribeValue: " + value);
  132. });
  133. }
  134.  
  135.  
  136.  
  137.  
  138.  
  139. // reduce-seed = 1
  140. // reduce-value = 2
  141. //
  142. // reduce-seed = 3 (from 1 + 2)
  143. // reduce-value = 3
  144. //
  145. // reduce-seed = 6 (from 3 + 3)
  146. // reduce-value = 4
  147. //
  148. // reduce-seed = 10 (from 6 + 4)
  149. // reduce-value = 5
  150. //
  151. // map-v = 15 (from 10 + 5)
  152. // subscribe-value = MapValue: 15
  153. private void reduce() {
  154. Observable.from(1, 2, 3, 4, 5)
  155. .reduce((seed, value) -> {
  156. // sum all values from the sequence
  157. System.out.println("reduce-seed = " + seed);
  158. System.out.println("reduce-value = " + value);
  159. return seed + value;
  160. })
  161. .map(v -> {
  162. System.out.println("map-v = " + v);
  163. return "MapValue: " + v;
  164. })
  165. .subscribe(value -> {
  166. System.out.println("subscribe-value = " + value);
  167. });
  168. }
  169.  
  170.  
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement