作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下变化:
val myFlux = Flux.fromIterable(listOf("A", "A", "B", "C", "C"))
Flux<String>
中,其中每个
String
将分别包含
AA
B
CC
。
Flux<SomeDomainObject>
,其中每个
SomeDomainObject
将包含相同的键(例如
AA
)
groupBy
,因为键数很大。
最佳答案
您可以使用bufferUntil
-功能:https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Flux.html#bufferUntil-java.util.function.Predicate-boolean-
fun<T> newItem(): Predicate<T> {
var lastItem: T? = null
return Predicate<T> { newItem ->
when {
lastItem == null -> {
lastItem = newItem
false
}
lastItem != newItem -> {
lastItem = newItem
true
}
else -> false
}
}
}
fun main(args: Array<String>) {
val flux = Flux.just("A", "A", "B", "C", "C")
val buffered = flux.bufferUntil(newItem(), true).map { it.joinToString("") }
buffered.subscribe {
println(it)
}
}
关于kotlin - 根据值(value)减少助焊剂排放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52857821/
我的用例是我想扫描一个迭代器,并在原始迭代器的段上产生累积值(这是一个标记器)。换句话说,它不是输入值和输出值之间的一对一映射。请注意 filter_map()不会工作,因为我确实需要累加器值。 我找
我是一名优秀的程序员,十分优秀!