package Ġchapter 0 2 Ċ Ċ import Ġcommon . Order Ċ import Ġio . reactivex . Observable Ċ import Ġjava . util . concurrent . Array BlockingQueue Ċ import Ġjava . util . concurrent . BlockingQueue Ċ Ċ class ĠObservable From Iterable Ġ{ ĊĠĠĠ Ġfun Ġlist Example () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnames : ĠMutable List < String > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġnames . add (" J erry ") ĊĠĠĠĠĠĠĠ Ġnames . add (" W illiam ") ĊĠĠĠĠĠĠĠ Ġnames . add (" Bob ") ĊĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= ĠObservable . from Iterable ( names ) ĊĠĠĠĠĠĠĠ Ġsource . subscribe ( System . out :: println ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Example () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcities Ġ: ĠMutable Set < String > Ġ= ĠHashSet () ĊĠĠĠĠĠĠĠ Ġcities . add (" Se oul ") ĊĠĠĠĠĠĠĠ Ġcities . add (" L ondon ") ĊĠĠĠĠĠĠĠ Ġcities . add (" Par is ") ĊĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= ĠObservable . from Iterable ( cities ) ĊĠĠĠĠĠĠĠ Ġsource . subscribe ( System . out :: println ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġblocking Queue Example () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġorder Queue Ġ: ĠBlock ing Queue < Order > Ġ= ĠArray BlockingQueue ( 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġorder Queue . add ( Order (" ORD - 1 ")) ĊĠĠĠĠĠĠĠ Ġorder Queue . add ( Order (" ORD - 2 ")) ĊĠĠĠĠĠĠĠ Ġorder Queue . add ( Order (" ORD - 3 ")) ĊĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= ĠObservable . from Iterable ( order Queue ) ĊĠĠĠĠĠĠĠ Ġsource . subscribe Ġ{ Ġorder Ġ-> Ġprintln ( order . getId ()) } ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġdemo Ġ= ĠObservable From Iterable () ĊĠĠĠ Ġdemo . list Example () ĊĠĠĠ Ġdemo . set Example () ĊĠĠĠ Ġdemo . blocking Queue Example () Ċ }