我的一位同事对我说,我应该创建一个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则是多余的(可能还包括开销性能)。

09-17 09:21