- 
                Notifications
    
You must be signed in to change notification settings  - Fork 7.6k
 
Alphabetical List of Observable Operators
        akarnokd edited this page Jun 5, 2019 
        ·
        142 revisions
      
    - 
aggregate( )— seereduce( ) - 
all( )— determine whether all items emitted by an Observable meet some criteria - 
amb( )— given two or more source Observables, emits all of the items from the first of these Observables to emit an item - 
ambWith( )— instance version ofamb( ) - 
and( )— combine the emissions from two or more source Observables into aPattern(rxjava-joins) - 
apply( )(scala) — seecreate( ) - 
asObservable( )(kotlin) — seefrom( )(et al.) - 
asyncAction( )— convert an Action into an Observable that executes the Action and emits its return value (rxjava-async) - 
asyncFunc( )— convert a function into an Observable that executes the function and emits its return value (rxjava-async) - 
averageDouble( )— calculates the average of Doubles emitted by an Observable and emits this average (rxjava-math) - 
averageFloat( )— calculates the average of Floats emitted by an Observable and emits this average (rxjava-math) - 
averageInteger( )— calculates the average of Integers emitted by an Observable and emits this average (rxjava-math) - 
averageLong( )— calculates the average of Longs emitted by an Observable and emits this average (rxjava-math) - 
blocking( )(clojure) — seetoBlocking( ) - 
buffer( )— periodically gather items from an Observable into bundles and emit these bundles rather than emitting the items one at a time - 
byLine( )(StringObservable) — converts an Observable of Strings into an Observable of Lines by treating the source sequence as a stream and splitting it on line-endings - 
cache( )— remember the sequence of items emitted by the Observable and emit the same sequence to future Subscribers - 
cast( )— cast all items from the source Observable into a particular type before reemitting them - 
catch( )(clojure) — seeonErrorResumeNext( ) - 
chunkify( )— returns an iterable that periodically returns a list of items emitted by the source Observable since the last list (⁇) - 
collect( )— collects items emitted by the source Observable into a single mutable data structure and returns an Observable that emits this structure - 
combineLatest( )— when an item is emitted by either of two Observables, combine the latest item emitted by each Observable via a specified function and emit items based on the results of this function - 
combineLatestWith( )(scala) — instance version ofcombineLatest( ) - 
concat( )— concatenate two or more Observables sequentially - 
concatMap( )— transform the items emitted by an Observable into Observables, then flatten this into a single Observable, without interleaving - 
concatWith( )— instance version ofconcat( ) - 
connect( )— instructs a Connectable Observable to begin emitting items - 
cons( )(clojure) — seeconcat( ) - 
contains( )— determine whether an Observable emits a particular item or not - 
count( )— counts the number of items emitted by an Observable and emits this count - 
countLong( )— counts the number of items emitted by an Observable and emits this count - 
create( )— create an Observable from scratch by means of a function - 
cycle( )(clojure) — seerepeat( ) - 
debounce( )— only emit an item from the source Observable after a particular timespan has passed without the Observable emitting any other items - 
decode( )(StringObservable) — convert a stream of multibyte characters into an Observable that emits byte arrays that respect character boundaries - 
defaultIfEmpty( )— emit items from the source Observable, or emit a default item if the source Observable completes after emitting no items - 
defer( )— do not create the Observable until a Subscriber subscribes; create a fresh Observable on each subscription - 
deferFuture( )— convert a Future that returns an Observable into an Observable, but do not attempt to get the Observable that the Future returns until a Subscriber subscribes (rxjava-async) - 
deferCancellableFuture( )— convert a Future that returns an Observable into an Observable in a way that monitors the subscription status of the Observable to determine whether to halt work on the Future, but do not attempt to get the returned Observable until a Subscriber subscribes (⁇)(rxjava-async) - 
delay( )— shift the emissions from an Observable forward in time by a specified amount - 
dematerialize( )— convert a materialized Observable back into its non-materialized form - 
distinct( )— suppress duplicate items emitted by the source Observable - 
distinctUntilChanged( )— suppress duplicate consecutive items emitted by the source Observable - 
do( )(clojure) — seedoOnEach( ) - 
doOnCompleted( )— register an action to take when an Observable completes successfully - 
doOnEach( )— register an action to take whenever an Observable emits an item - 
doOnError( )— register an action to take when an Observable completes with an error - 
doOnNext( )— seedoOnEach( ) - 
doOnRequest( )— register an action to take when items are requested from an Observable via reactive-pull backpressure (⁇) - 
doOnSubscribe( )— register an action to take when an observer subscribes to an Observable - 
doOnTerminate( )— register an action to take when an Observable completes, either successfully or with an error - 
doOnUnsubscribe( )— register an action to take when an observer unsubscribes from an Observable - 
doWhile( )— emit the source Observable's sequence, and then repeat the sequence as long as a condition remains true (contrib-computation-expressions) - 
drop( )(scala/clojure) — seeskip( ) - 
dropRight( )(scala) — seeskipLast( ) - 
dropUntil( )(scala) — seeskipUntil( ) - 
dropWhile( )(scala) — seeskipWhile( ) - 
drop-while( )(clojure) — seeskipWhile( ) - 
elementAt( )— emit item n emitted by the source Observable - 
elementAtOrDefault( )— emit item n emitted by the source Observable, or a default item if the source Observable emits fewer than n items - 
empty( )— create an Observable that emits nothing and then completes - 
encode( )(StringObservable) — transform an Observable that emits strings into an Observable that emits byte arrays that respect character boundaries of multibyte characters in the original strings - 
error( )— create an Observable that emits nothing and then signals an error - 
every( )(clojure) — seeall( ) - 
exists( )— determine whether an Observable emits any items or not - 
filter( )— filter items emitted by an Observable - 
finally( )(clojure) — seefinallyDo( ) - 
filterNot( )(scala) — seefilter( ) - 
finallyDo( )— register an action to take when an Observable completes - 
first( )(Observable) — emit only the first item emitted by an Observable, or the first item that meets some condition - 
first( )(BlockingObservable) — emit only the first item emitted by an Observable, or the first item that meets some condition - 
firstOrDefault( )(Observable) — emit only the first item emitted by an Observable, or the first item that meets some condition, or a default value if the source Observable is empty - 
firstOrDefault( )(BlockingObservable) — emit only the first item emitted by an Observable, or the first item that meets some condition, or a default value if the source Observable is empty - 
firstOrElse( )(scala) — seefirstOrDefault( )orfirstOrDefault( )(BlockingObservable) - 
flatMap( )— transform the items emitted by an Observable into Observables, then flatten this into a single Observable - 
flatMapIterable( )— create Iterables corresponding to each emission from a source Observable and merge the results into a single Observable - 
flatMapIterableWith( )(scala) — instance version offlatMapIterable( ) - 
flatMapWith( )(scala) — instance version offlatmap( ) - 
flatten( )(scala) — seemerge( ) - 
flattenDelayError( )(scala) — seemergeDelayError( ) - 
foldLeft( )(scala) — seereduce( ) - 
forall( )(scala) — seeall( ) - 
forEach( )(Observable) — seesubscribe( ) - 
forEach( )(BlockingObservable) — invoke a function on each item emitted by the Observable; block until the Observable completes - 
forEachFuture( )(Async) — pass Subscriber methods to an Observable but also have it behave like a Future that blocks until it completes (rxjava-async) - 
forEachFuture( )(BlockingObservable)— create a futureTask that will invoke a specified function on each item emitted by an Observable (⁇) - 
forIterable( )— apply a function to the elements of an Iterable to create Observables which are then concatenated (⁇) - 
from( )— convert an Iterable, a Future, or an Array into an Observable - 
from( )(StringObservable) — convert a stream of characters or a Reader into an Observable that emits byte arrays or Strings - 
fromAction( )— convert an Action into an Observable that invokes the action and emits its result when a Subscriber subscribes (rxjava-async) - 
fromCallable( )— convert a Callable into an Observable that invokes the callable and emits its result or exception when a Subscriber subscribes (rxjava-async) - 
fromCancellableFuture( )— convert a Future into an Observable in a way that monitors the subscription status of the Observable to determine whether to halt work on the Future, but do not attempt to get the Future's value until a Subscriber subscribes (⁇)(rxjava-async) - 
fromFunc0( )— seefromCallable( )(rxjava-async) - 
fromFuture( )— convert a Future into an Observable, but do not attempt to get the Future's value until a Subscriber subscribes (⁇) - 
fromRunnable( )— convert a Runnable into an Observable that invokes the runable and emits its result when a Subscriber subscribes (rxjava-async) - 
generate( )— create an Observable that emits a sequence of items as generated by a function of your choosing (⁇) - 
generateAbsoluteTime( )— create an Observable that emits a sequence of items as generated by a function of your choosing, with each item emitted at an item-specific time (⁇) - 
generator( )(clojure) — seegenerate( ) - 
getIterator( )— convert the sequence emitted by the Observable into an Iterator - 
groupBy( )— divide an Observable into a set of Observables that emit groups of items from the original Observable, organized by key - 
group-by( )(clojure) — seegroupBy( ) - 
groupByUntil( )— a variant of thegroupBy( )operator that closes any open GroupedObservable upon a signal from another Observable (⁇) - 
groupJoin( )— combine the items emitted by two Observables whenever one item from one Observable falls within a window of duration specified by an item emitted by the other Observable - 
head( )(scala) — seefirst( )(BlockingObservable) - 
headOption( )(scala) — seefirstOrDefault( )orfirstOrDefault( )(BlockingObservable) - 
headOrElse( )(scala) — seefirstOrDefault( )orfirstOrDefault( )(BlockingObservable) - 
ifThen( )— only emit the source Observable's sequence if a condition is true, otherwise emit an empty or default sequence (contrib-computation-expressions) - 
ignoreElements( )— discard the items emitted by the source Observable and only pass through the error or completed notification - 
interval( )— create an Observable that emits a sequence of integers spaced by a given time interval - 
into( )(clojure) — seereduce( ) - 
isEmpty( )— determine whether an Observable emits any items or not - 
items( )(scala) — seejust( ) - 
join( )— combine the items emitted by two Observables whenever one item from one Observable falls within a window of duration specified by an item emitted by the other Observable - 
join( )(StringObservable) — converts an Observable that emits a sequence of strings into an Observable that emits a single string that concatenates them all, separating them by a specified string - 
just( )— convert an object into an Observable that emits that object - 
last( )(BlockingObservable) — block until the Observable completes, then return the last item emitted by the Observable - 
last( )(Observable) — emit only the last item emitted by the source Observable - 
lastOption( )(scala) — seelastOrDefault( )orlastOrDefault( )(BlockingObservable) - 
lastOrDefault( )(BlockingObservable) — block until the Observable completes, then return the last item emitted by the Observable or a default item if there is no last item - 
lastOrDefault( )(Observable) — emit only the last item emitted by an Observable, or a default value if the source Observable is empty - 
lastOrElse( )(scala) — seelastOrDefault( )orlastOrDefault( )(BlockingObservable) - 
latest( )— returns an iterable that blocks until or unless the Observable emits an item that has not been returned by the iterable, then returns the latest such item - 
length( )(scala) — seecount( ) - 
limit( )— seetake( ) - 
longCount( )(scala) — seecountLong( ) - 
map( )— transform the items emitted by an Observable by applying a function to each of them - 
mapcat( )(clojure) — seeconcatMap( ) - 
mapMany( )— see:flatMap( ) - 
materialize( )— convert an Observable into a list of Notifications - 
max( )— emits the maximum value emitted by a source Observable (rxjava-math) - 
maxBy( )— emits the item emitted by the source Observable that has the maximum key value (rxjava-math) - 
merge( )— combine multiple Observables into one - 
mergeDelayError( )— combine multiple Observables into one, allowing error-free Observables to continue before propagating errors - 
merge-delay-error( )(clojure) — seemergeDelayError( ) - 
mergeMap( )* — see:flatMap( ) - 
mergeMapIterable( )— see:flatMapIterable( ) - 
mergeWith( )— instance version ofmerge( ) - 
min( )— emits the minimum value emitted by a source Observable (rxjava-math) - 
minBy( )— emits the item emitted by the source Observable that has the minimum key value (rxjava-math) - 
mostRecent( )— returns an iterable that always returns the item most recently emitted by the Observable - 
multicast( )— represents an Observable as a Connectable Observable - 
never( )— create an Observable that emits nothing at all - 
next( )— returns an iterable that blocks until the Observable emits another item, then returns that item - 
nonEmpty( )(scala) — seeisEmpty( ) - 
nth( )(clojure) — seeelementAt( )andelementAtOrDefault( ) - 
observeOn( )— specify on which Scheduler a Subscriber should observe the Observable - 
ofType( )— emit only those items from the source Observable that are of a particular class - 
onBackpressureBlock( )— block the Observable's thread until the Observer is ready to accept more items from the Observable (⁇) - 
onBackpressureBuffer( )— maintain a buffer of all emissions from the source Observable and emit them to downstream Subscribers according to the requests they generate - 
onBackpressureDrop( )— drop emissions from the source Observable unless there is a pending request from a downstream Subscriber, in which case emit enough items to fulfill the request - 
onErrorFlatMap( )— instructs an Observable to emit a sequence of items whenever it encounters an error (⁇) - 
onErrorResumeNext( )— instructs an Observable to emit a sequence of items if it encounters an error - 
onErrorReturn( )— instructs an Observable to emit a particular item when it encounters an error - 
onExceptionResumeNext( )— instructs an Observable to continue emitting items after it encounters an exception (but not another variety of throwable) - 
orElse( )(scala) — seedefaultIfEmpty( ) - 
parallel( )— split the work done on the emissions from an Observable into multiple Observables each operating on its own parallel thread (⁇) - 
parallelMerge( )— combine multiple Observables into smaller number of Observables (⁇) - 
pivot( )— combine multiple sets of grouped observables so that they are arranged primarily by group rather than by set (⁇) - 
publish( )— represents an Observable as a Connectable Observable - 
publishLast( )— represent an Observable as a Connectable Observable that emits only the last item emitted by the source Observable (⁇) - 
range( )— create an Observable that emits a range of sequential integers - 
reduce( )— apply a function to each emitted item, sequentially, and emit only the final accumulated value - 
reductions( )(clojure) — seescan( ) - 
refCount( )— makes a Connectable Observable behave like an ordinary Observable - 
repeat( )— create an Observable that emits a particular item or sequence of items repeatedly - 
repeatWhen( )— create an Observable that emits a particular item or sequence of items repeatedly, depending on the emissions of a second Observable - 
replay( )— ensures that all Subscribers see the same sequence of emitted items, even if they subscribe after the Observable begins emitting the items - 
rest( )(clojure) — seenext( ) - 
return( )(clojure) — seejust( ) - 
retry( )— if a source Observable emits an error, resubscribe to it in the hopes that it will complete without error - 
retrywhen( )— if a source Observable emits an error, pass that error to another Observable to determine whether to resubscribe to the source - 
runAsync( )— returns aStoppableObservablethat emits multiple actions as generated by a specified Action on a Scheduler (rxjava-async) - 
sample( )— emit the most recent items emitted by an Observable within periodic time intervals - 
scan( )— apply a function to each item emitted by an Observable, sequentially, and emit each successive value - 
seq( )(clojure) — seegetIterator( ) - 
sequenceEqual( )— test the equality of sequences emitted by two Observables - 
sequenceEqualWith( )(scala) — instance version ofsequenceEqual( ) - 
serialize( )— force an Observable to make serialized calls and to be well-behaved - 
share( )— seerefCount( ) - 
single( )(BlockingObservable) — if the source Observable completes after emitting a single item, return that item, otherwise throw an exception - 
single( )(Observable) — if the source Observable completes after emitting a single item, emit that item, otherwise notify of an exception - 
singleOption( )(scala) — seesingleOrDefault( )(BlockingObservable) - 
singleOrDefault( )(BlockingObservable) — if the source Observable completes after emitting a single item, return that item, otherwise return a default item - 
singleOrDefault( )(Observable) — if the source Observable completes after emitting a single item, emit that item, otherwise emit a default item - 
singleOrElse( )(scala) — seesingleOrDefault( ) - 
size( )(scala) — seecount( ) - 
skip( )— ignore the first n items emitted by an Observable - 
skipLast( )— ignore the last n items emitted by an Observable - 
skipUntil( )— discard items emitted by a source Observable until a second Observable emits an item, then emit the remainder of the source Observable's items - 
skipWhile( )— discard items emitted by an Observable until a specified condition is false, then emit the remainder - 
sliding( )(scala) — seewindow( ) - 
slidingBuffer( )(scala) — seebuffer( ) - 
split( )(StringObservable) — converts an Observable of Strings into an Observable of Strings that treats the source sequence as a stream and splits it on a specified regex boundary - 
start( )— create an Observable that emits the return value of a function (rxjava-async) - 
startCancellableFuture( )— convert a function that returns Future into an Observable that emits that Future's return value in a way that monitors the subscription status of the Observable to determine whether to halt work on the Future (⁇)(rxjava-async) - 
startFuture( )— convert a function that returns Future into an Observable that emits that Future's return value (rxjava-async) - 
startWith( )— emit a specified sequence of items before beginning to emit the items from the Observable - 
stringConcat( )(StringObservable) — converts an Observable that emits a sequence of strings into an Observable that emits a single string that concatenates them all - 
subscribeOn( )— specify which Scheduler an Observable should use when its subscription is invoked - 
sumDouble( )— adds the Doubles emitted by an Observable and emits this sum (rxjava-math) - 
sumFloat( )— adds the Floats emitted by an Observable and emits this sum (rxjava-math) - 
sumInt( )— adds the Integers emitted by an Observable and emits this sum (rxjava-math) - 
sumLong( )— adds the Longs emitted by an Observable and emits this sum (rxjava-math) - 
switch( )(scala) — seeswitchOnNext( ) - 
switchCase( )— emit the sequence from a particular Observable based on the results of an evaluation (contrib-computation-expressions) - 
switchMap( )— transform the items emitted by an Observable into Observables, and mirror those items emitted by the most-recently transformed Observable - 
switchOnNext( )— convert an Observable that emits Observables into a single Observable that emits the items emitted by the most-recently emitted of those Observables - 
synchronize( )— seeserialize( ) - 
take( )— emit only the first n items emitted by an Observable - 
takeFirst( )— emit only the first item emitted by an Observable, or the first item that meets some condition - 
takeLast( )— only emit the last n items emitted by an Observable - 
takeLastBuffer( )— emit the last n items emitted by an Observable, as a single list item - 
takeRight( )(scala) — seelast( )(Observable) ortakeLast( ) - 
takeUntil( )— emits the items from the source Observable until a second Observable emits an item - 
takeWhile( )— emit items emitted by an Observable as long as a specified condition is true, then skip the remainder - 
take-while( )(clojure) — seetakeWhile( ) - 
then( )— transform a series ofPatternobjects via aPlantemplate (rxjava-joins) - 
throttleFirst( )— emit the first items emitted by an Observable within periodic time intervals - 
throttleLast( )— emit the most recent items emitted by an Observable within periodic time intervals - 
throttleWithTimeout( )— only emit an item from the source Observable after a particular timespan has passed without the Observable emitting any other items - 
throw( )(clojure) — seeerror( ) - 
timeInterval( )— emit the time lapsed between consecutive emissions of a source Observable - 
timeout( )— emit items from a source Observable, but issue an exception if no item is emitted in a specified timespan - 
timer( )— create an Observable that emits a single item after a given delay - 
timestamp( )— attach a timestamp to every item emitted by an Observable - 
toAsync( )— convert a function or Action into an Observable that executes the function and emits its return value (rxjava-async) - 
toBlocking( )— transform an Observable into a BlockingObservable - 
toBlockingObservable( )- seetoBlocking( ) - 
toFuture( )— convert the Observable into a Future - 
toIterable( )— convert the sequence emitted by the Observable into an Iterable - 
toIterator( )— seegetIterator( ) - 
toList( )— collect all items from an Observable and emit them as a single List - 
toMap( )— convert the sequence of items emitted by an Observable into a map keyed by a specified key function - 
toMultimap( )— convert the sequence of items emitted by an Observable into an ArrayList that is also a map keyed by a specified key function - 
toSeq( )(scala) — seetoList( ) - 
toSortedList( )— collect all items from an Observable and emit them as a single, sorted List - 
tumbling( )(scala) — seewindow( ) - 
tumblingBuffer( )(scala) — seebuffer( ) - 
using( )— create a disposable resource that has the same lifespan as an Observable - 
when( )— convert a series ofPlanobjects into an Observable (rxjava-joins) - 
where( )— see:filter( ) - 
whileDo( )— if a condition is true, emit the source Observable's sequence and then repeat the sequence as long as the condition remains true (contrib-computation-expressions) - 
window( )— periodically subdivide items from an Observable into Observable windows and emit these windows rather than emitting the items one at a time - 
zip( )— combine sets of items emitted by two or more Observables together via a specified function and emit items based on the results of this function - 
zipWith( )— instance version ofzip( ) - 
zipWithIndex( )(scala) — seezip( ) - 
++(scala) — seeconcat( ) - 
+:(scala) — seestartWith( ) 
(⁇) — this proposed operator is not part of RxJava 1.0
Copyright (c) 2016-present, RxJava Contributors.
Twitter @RxJava | Gitter @RxJava