Java8 has amazing Stream API, but only for android API 25 and above and can not be use used if your app supports any lower API than 25.
Here is light weight "Flow" a stream like API that can be used on lower version of JAVA and Android. Very very light having less than 10 classes and it has only few important function of stream.
FunctionalRx2 is a collection of constructs to simplify a functional programming approach to development on Java and Android.
The Fuze project is an example of MVVM design pattern in full functional reactive programming RxJava2 with Dagger2.
A library that enables writing all your code in a declarative manner, fully applicable with RxJava 2, you can access all the API through the Chain class, where you start a stream with an item, and then start manipulating this item through known functional approaches like mapping and applying, it also supports flow control for streams which is really missed in RxJava
A library that enables Currying functions in Java (using RxJava2 interfaces), compatible with Java 7.
Java8 Optional back-port for Kotlin and Android
PrivacyStreams is an Android library for easy and privacy-friendly personal data access and processing. It offers a functional programming model for various types of personal data, including locations, photos, audios, sensors, contacts, messages, and more.
Just as there was Retroweaver et al. for running Java 5 code with generics on Java 1.4, Retrolambda lets you run Java 8 code with lambda expressions on Java 7 or lower. It does this by transforming your Java 8 compiled bytecode so that it can run on a Java 7 runtime. After the transformation they are just a bunch of normal .class files, without adding any runtime dependencies.