Эйч
Эйч
  • Все менторы
Задачи/Android-разработчик/Различия между flatMap, switchMap и concatMap в RxJava

Различия между flatMap, switchMap и concatMap в RxJava

Условие задачи

Опишите для каждого варианта что будет в выводе, если заменить (method) на: flatMap, switchMap, concatMap в данном коде

kotlinval list = mutableListOf("a", "b", "c", "d")

val couter = AtomicInteger(4)

Observable.fromIterable(list). (method) { item ->
  val delay = couter.decrementAndGet() × 10
  Observable.just(item + "x").delay(delay.toLong(), TimeUnit.SECONDS)
}
.doOnNext { println(it) }
.subscribe()

flatMap:
1. "ax", "bx", "cx", "dx"
2. "dx", "cx", "bx", "ax"
3. "bx", "cx", "ax", "dx"
ответ {
 второй
}

switchMap:
1. "ax", "bx", "cx", "dx"
2. "dx", "cx", "bx", "ax"
3. "dx"
ответ {
 третий
}

concatMap:
1. "dx"
2. "dx", "cx", "bx", "ax"
3. "ax", "bx", "cx", "dx"
ответ {
 третий
}

Профессия

Android-разработчик

Сопроводим до оффера

Умножим шансы на каждом этапе поиска и поможем получить выгодный оффер

Узнать больше

Сервис развития карьеры

Контактыteam@h.careers@hcareers
TelegramVKYouTubeLinkedIn
Профессии
Компания
С чем помогаемОтзывыВопросы и ответыСертификатыВебинарыСтать ментором

Платформа принадлежит ООО "Эйч Карьера"
ИНН 9710095807 ОГРН 1227700077340
Адрес: 127006, город Москва, Старопименовский пер, д. 18 стр. 2, помещ./ком./этаж I/19/2

Copyright © 2020-2025 Сервис развития карьеры Эйч. Все права защищены.

Политика конфиденциальностиПользовательское соглашениеОферта