我的一位同事对我说,我应该创建一个Flux而不是处理流,而不是直接使用List,然后再处理它的数据。
但这对我来说没有意义,因为我认为反应性流通常可用于阻止而不进行数据处理。
有人可以验证我同事建议的新方法是否正确。
如果它是正确的,它比我以前的方法有什么优势(性能方面)
//Model
rootObject{
List<rootNodes> rootNodes
}
//My current code
MonoOfRootObject.map( rootobject.getrootnodes.stream()
.(..do some filtering and replacement..) )
//Proposed code according to my colleague
MonoOfRootObject.map( Flux.fromIterable(rootobject.getrootnodes)
.(..do some filtering and replacement..) )
请帮助我对Reactor(或一般的函数式编程)有点陌生
谢谢
最佳答案
你是对的。通常,当您需要处理异步数据和/或并发时,Reactor和Reactive Streams很有用。
要进行常规过滤,在内存列表上进行转换,Java Stream可以很好地使用,而使用Reactive Stream则是多余的(可能还包括开销性能)。