Here are all the functional types available in RxJava 2.0 at the time of writing this, and you can find them in the io.reactivex.functions package. You may recognize many of these functional types as being almost identical to those in Java 8 (in java.util.function) or Google Guava. However, they were somewhat copied in RxJava 2.0 to make them available for use in Java 6 and 7. A subtle difference is that RxJava's implementations throw checked exceptions. This eliminates a pain point from RxJava 1.0 where checked exceptions had to be handled in lambdas that yielded them.
The RxJava 1.0 equivalents are listed as well, but note that the single abstract method (SAM) column corresponds to the RxJava 2.0 type. RxJava 1.0 functions implement call() and do not support primitives. RxJava 2.0 implemented a few functional types with primitives to reduce boxing...