Создать два элемента из одного во Flux? - PullRequest
0 голосов
/ 05 ноября 2018

У меня следующее Flux:

val myFlux = Flux.just("a", "b", "duck", "c", "d")

Я хотел бы преобразовать его таким образом, чтобы каждое вхождение duck давало два элемента (например, Leg)

Итак:

myMyFlux.magicTransformation()

должен произвести:

"a", "b", "leg", "leg", "c", "d"

1 Ответ

0 голосов
/ 05 ноября 2018

Вы можете использовать flatMap для отображения duck на два элемента.

val myFlux = Flux.just("a", "b", "duck", "c", "d")

myFlux.flatMap {
    if (it == "duck") {
        Flux.just("leg", "leg")
    } else {
        Mono.just(it)
    }
}.subscribe(System.out::println)
...