你能合并两个 Flux 而不阻塞,使得结果只包含独特的元素吗?
Can you merge two Flux, without blocking, such that the result only contains unique elements?
有没有办法合并两个 Flux,使结果只包含独特的元素?我可以阻塞输出然后将其转换为一个集合,但是有没有一种方法 不 依赖于阻塞?
来源 (Kotlin)
val set1 = Flux.just(1, 2, 3, 4, 5)
val set2 = Flux.just(2, 4, 6, 8, 10)
val mergedSet = set1.mergeWith(set2)
println(mergedSet.collectList().block())
输出
[1, 2, 3, 4, 5, 2, 4, 6, 8, 10]
期望的输出(顺序不重要)
[1, 2, 3, 4, 5, 6, 8, 10]
你可以使用 Flux 的 merge method and then apply distinct()
给它。
Flux.merge (Flux.just(1, 2, 3, 4, 5), Flux.just(2, 4, 6, 8, 10)).distinct();
这样你就得到了一个只产生不同值的通量。
有没有办法合并两个 Flux,使结果只包含独特的元素?我可以阻塞输出然后将其转换为一个集合,但是有没有一种方法 不 依赖于阻塞?
来源 (Kotlin)
val set1 = Flux.just(1, 2, 3, 4, 5)
val set2 = Flux.just(2, 4, 6, 8, 10)
val mergedSet = set1.mergeWith(set2)
println(mergedSet.collectList().block())
输出
[1, 2, 3, 4, 5, 2, 4, 6, 8, 10]
期望的输出(顺序不重要)
[1, 2, 3, 4, 5, 6, 8, 10]
你可以使用 Flux 的 merge method and then apply distinct()
给它。
Flux.merge (Flux.just(1, 2, 3, 4, 5), Flux.just(2, 4, 6, 8, 10)).distinct();
这样你就得到了一个只产生不同值的通量。