我的一位同事对我说,我应该创建一个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(或一般的函数式编程)有些陌生
谢谢
答案 0 :(得分:1)
是的,您是对的。通常,当您需要处理异步数据和/或并发时,Reactor和Reactive Streams很有用。
要对内存列表进行常规过滤和转换,Java Stream可以很好地使用,而使用Reactive Stream则是多余的(在性能上也可能是开销)。