1+ import io .reactivex .Observable ;
2+
3+ import java .util .Arrays ;
4+ import java .util .Collections ;
5+ import java .util .List ;
6+
7+
8+ public class Main {
9+ public static void main ( String [] args ) {
10+ all ();
11+ contains (5 );
12+ skipWhile ();
13+ skipUntil ();
14+ takeWhile ();
15+ takeUntil ();
16+ }
17+
18+ /**
19+ * Emit true if all items emitted by an Observable meet some criteria, or false
20+ * otherwise.
21+ **/
22+ private static void all () {
23+ System .out .println ("all" );
24+
25+ List <Integer > integerList = Arrays .asList (3 , 5 , 7 );
26+ System .out .println (integerList );
27+ Observable <Integer > integerObservable = Observable .fromIterable (integerList );
28+
29+ System .out .println ("all(x => isPrime(x) =====================>" );
30+
31+ integerObservable .all (Main ::isPrime )
32+ .subscribe (System .out ::println );
33+ System .out .println ();
34+ }
35+
36+ private static boolean isPrime (int number ) {
37+ if (number % 2 == 0 ) return false ;
38+
39+ for (int i = 3 ; i *i <= number ; i +=2 ) {
40+ if (number % i == 0 )
41+ return false ;
42+ }
43+ return true ;
44+ }
45+
46+ /**
47+ * Emit true if an Observable emits a particular item, or false otherwise.
48+ *
49+ **/
50+ private static void contains (Object element ) {
51+ System .out .println ("contains" );
52+
53+ List <Integer > integerList = Arrays .asList (1 , 55 , 25 );
54+ System .out .println (integerList );
55+ Observable <Integer > integerObservable = Observable .fromIterable (integerList );
56+
57+ System .out .println ("contains(" + element + ") =====================>" );
58+
59+ integerObservable .contains (element )
60+ .subscribe (System .out ::println );
61+ System .out .println ();
62+ }
63+
64+ /**
65+ * Discard items emitted by an Observable until a specified condition becomes false.
66+ *
67+ **/
68+ private static void skipWhile () {
69+ System .out .println ("skipWhile" );
70+
71+ List <Integer > integerList = Arrays .asList (1 , 2 , 3 );
72+ System .out .println (integerList );
73+ Observable <Integer > integerObservable = Observable .fromIterable (integerList );
74+
75+ System .out .println ("skipWhile(x => x != 2) =====================>" );
76+
77+ integerObservable .skipWhile (x -> x != 2 )
78+ .subscribe (System .out ::println );
79+ System .out .println ();
80+ }
81+
82+ /**
83+ * Discard items emitted by an Observable until a second Observable starts emitting
84+ * items.
85+ **/
86+ private static void skipUntil () {
87+ System .out .println ("skipUntil" );
88+
89+ List <Integer > integerList = Arrays .asList (1 , 2 , 3 );
90+ List <Integer > integerList1 = Collections .singletonList (0 );
91+ System .out .println (integerList );
92+ System .out .println (integerList1 );
93+ Observable <Integer > integerObservable = Observable .fromIterable (integerList );
94+ Observable <Integer > integerObservable1 = Observable .fromIterable (integerList1 );
95+
96+ System .out .println ("skipUntil =====================>" );
97+
98+ integerObservable .skipUntil (integerObservable1 )
99+ .subscribe (System .out ::println );
100+ System .out .println ();
101+ }
102+
103+ /**
104+ * Mirror items emitted by an Observable until a specified condition becomes false.
105+ *
106+ **/
107+ private static void takeWhile () {
108+ System .out .println ("takeWhile" );
109+
110+ List <Integer > integerList = Arrays .asList (2 , 4 , 16 , 9 , 11 );
111+ System .out .println (integerList );
112+ Observable <Integer > integerObservable = Observable .fromIterable (integerList );
113+
114+ System .out .println ("takeWhile(x => isEven(x) =====================>" );
115+
116+ integerObservable .takeWhile (Main ::isEven )
117+ .subscribe (System .out ::println );
118+ System .out .println ();
119+ }
120+
121+ private static boolean isEven (int number ) {
122+ return number % 2 == 0 ;
123+ }
124+
125+ /**
126+ * Apply a function to each item emitted by an Observable, sequentially, emit the
127+ * final value and terminate.
128+ **/
129+ private static void takeUntil () {
130+ System .out .println ("takeUntil" );
131+
132+ List <Integer > integerList = Arrays .asList (1 , 2 , 3 , 4 );
133+ List <Integer > integerList1 = Collections .singletonList (0 );
134+ System .out .println (integerList );
135+ System .out .println (integerList1 );
136+ Observable <Integer > integerObservable = Observable .fromIterable (integerList );
137+ Observable <Integer > integerObservable1 = Observable .fromIterable (integerList1 );
138+
139+ System .out .println ("takeUntil =====================>" );
140+
141+ integerObservable .takeUntil (integerObservable1 )
142+ .subscribe (System .out ::println );
143+ System .out .println ();
144+ }
145+ }
0 commit comments