Ответ
Observable — поток данных, который может испускать 0, 1 или множество элементов.
Single — поток с одним элементом или ошибкой (например, результат сетевого запроса).
Maybe — может испустить 1 элемент, завершиться без элемента или с ошибкой.
Completable — не испускает элементы, только сигнал завершения или ошибки.
Flowable — аналог Observable, но с поддержкой backpressure (для больших потоков данных).
Пример:
Observable.just(1, 2, 3)
.subscribe { println(it) }
Single.just("Success")
.subscribe({ println(it) }, { it.printStackTrace() })
Дополнительно:
- Subject (PublishSubject, BehaviorSubject и др.) — одновременно Observable и Observer.
- Disposable — управление подпиской для отмены.