Reputation: 13
I am learning RxJava for a few week, i have some java code like below
Code:
String[] strings1 = new String[]{"a", "b", "c", "d", "e"};
Integer[] integers = {1, 2, 3, 4, 5};
String[] strings2 = new String[]{"f", "g", "h", "i"};
for (String str : strings1) {
for (Integer integer : integers) {
System.out.println(str + ":" + integer);
if(integer == 4){
for (String str2 : strings2) {
System.out.println(str2 + ":" + integer);
}
}
}
}
How can i translate it to RxJava code?
I trying to use flatMapIterable
with flatMap
but still can not reached it.
Upvotes: 1
Views: 1086
Reputation: 13471
There you go
@Test
public void thirdDeepLevel() {
Observable.from(Arrays.asList("a", "b", "c", "d", "e"))
.flatMap(letter -> Observable.from(Arrays.asList(1, 2, 3, 4, 5))
.map(number -> {
System.out.println(letter + ":" + number);
return number;
})
.filter(number -> number == 4)
.flatMap(number -> Observable.from(Arrays.asList("f", "g", "h", "i"))
.map(leter2 -> {
System.out.println(letter + ":" + number);
return leter2;
})))
.subscribe();
}
You can see more examples to lear Rx here https://github.com/politrons/reactive
Upvotes: 4