kotlin - 在 Flux 中从一个元素生成两个元素?
问题描述
我有以下内容Flux
:
val myFlux = Flux.just("a", "b", "duck", "c", "d")
我想将其转换为每次出现duck
都会产生两个元素(例如Leg
)
所以:
myMyFlux.magicTransformation()
应该产生:
"a", "b", "leg", "leg", "c", "d"
解决方案
您可以使用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)
推荐阅读
- c++ - 如何抑制未使用的(void **arg)参数?
- javascript - `xhr.getAllHeaders()` 在浏览器扩展上下文中缺少一些标题?
- python - 如何按未排序的列表对数据框进行分组?
- excel - 单击边缘浏览器中的按钮
- git - 在 VSCode 中安装 git
- spring-boot - 具有多种身份验证方法的 Web 安全设置
- java - 如何在 Spring Data Elasticsearch 中为时间访问器的 HashMap 提供字段类型
- react-native - 部署时反应导航本机网络路由不起作用
- php - 如何使用 PHP 将 n 位数字随机排列到数组中?
- objective-c - 如何制作 dataWithEPSInsideRect 向量而不是向量格式的位图?