将助焊剂拆分为包含反应器中最多 20 个元素的列表



我想将Flux拆分为多个List(或子Fluxes),每个元素最多包含20个元素。

我的助焊剂:

"a","s","x"...

转换为:List<String>, List<String>Flux<String>, Flux<String>- 每个元素最多包含 20 个元素。

在我看来,Flux.window(20)返回Flux<Flux<T>>就是你要找的。查看其参考文档,可以阅读:

将此助焊剂序列拆分为多个包含 maxSize 的助焊剂窗口 元素(或更少用于最后一个窗口)并从第一个窗口开始 项目。每个助焊剂窗口将在最大大小项目完成后完成 路由。

<小时 />

(感谢@MichaelBerry提示)

还有Flux.buffer(20)会返回Flux<List<T>>.在参考文档中,我们可以阅读:

将传入值收集到多个 List 缓冲区中,这些缓冲区将是 每次达到给定的最大大小时由返回的通量发出 或在此助焊剂完成后。