Skip to content

Instantly share code, notes, and snippets.

@ragdroid
Created August 11, 2016 20:27
Show Gist options
  • Save ragdroid/08bf867e1fa28e3ab8dafc26dc3359bb to your computer and use it in GitHub Desktop.
Save ragdroid/08bf867e1fa28e3ab8dafc26dc3359bb to your computer and use it in GitHub Desktop.
Zip - combine stream of Objects
//It's zip-yOsa not zip-yosAR
Observable<DanceCouple> getYuleDanceCoupleObservable() {
Observable<Champion> championsObservable = getChampionsObservable();
Observable<Partner> partnerObservable = getPartnerObservable();
return championsObservable.zipWith(partnerObservable, new Func2<Champion, Partner, DanceCouple>() {
@Override
public DanceCouple call(Champion champion, Partner partner) {
return new DanceCouple(champion, partner).dance();
}
});
}
Observable<Champion> getChampionsObservable() {
Champion[] champions = {
new Champion("Viktor Krum"),
new Champion("Fleur"),
new Champion("Cedric"),
new Champion("Harry Potter")
};
return Observable.from(champions);
}
Observable<Partner> getPartnerObservable() {
Partner[] partners = {
new Partner("Hermione"),
new Partner("Roger"),
new Partner("Cho"),
new Partner("Parvati")
};
return Observable.from(partners);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment