是否建议将Arraylist转换为Reactor的流量以处理数据?

时间:2019-07-25 07:20:12

标签: java reactive-programming flux project-reactor reactor

我的一位同事对我说,我应该创建一个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(或一般的函数式编程)有些陌生

谢谢

1 个答案:

答案 0 :(得分:1)

是的,您是对的。通常,当您需要处理异步数据和/或并发时,Reactor和Reactive Streams很有用。

要对内存列表进行常规过滤和转换,Java Stream可以很好地使用,而使用Reactive Stream则是多余的(在性能上也可能是开销)。