Back to questions
Junior — Middle
84
Можешь перечислить основные виды операторов, используемых в Flow?
Answer from AI
sobes.tech AI
В Kotlin Flow основные виды операторов можно разделить на несколько категорий:
-
Преобразующие операторы (Transforming operators): изменяют элементы потока.
map— преобразует каждый элемент.filter— пропускает только элементы, удовлетворяющие условию.take— берет первые N элементов.flatMapConcat,flatMapMerge— преобразуют элементы в другие потоки и объединяют их.
-
Операторы сбора (Terminal operators): запускают выполнение потока и собирают данные.
collect— собирает элементы потока.toList,toSet— собирают элементы в коллекции.
-
Операторы управления потоком:
debounce— пропускает элементы с задержкой, игнорируя быстрые повторения.distinctUntilChanged— пропускает только изменившиеся элементы.buffer— буферизует элементы для асинхронной обработки.
-
Комбинирующие операторы:
zip— объединяет элементы из двух потоков по индексам.combine— объединяет последние значения из нескольких потоков.
Пример использования оператора map:
flowOf(1, 2, 3)
.map { it * 2 }
.collect { println(it) } // Выведет 2, 4, 6
Эти операторы позволяют гибко работать с асинхронными потоками данных в Kotlin.