我最近一直在学习在空闲时间使用akka流(scala和java),并且想知道如何实现下面的场景。
我有一个非常大的集合进入我的管道连续流,我想让管道转换每个集合内的元素。
将集合转换为其元素流很容易,但我还需要将1个集合中所有转换的元素一起收集回1个新集合(仅包含以前在原始集合中也在一起的转换对象)。因此,我必须知道何时处理了1个集合的特定元素流,因为这样我就可以发出转换后的集合,以便在常规管道中进行进一步处理。
我最近一直在学习在空闲时间使用akka流(scala和java),并且想知道如何实现下面的场景。
我有一个非常大的集合进入我的管道连续流,我想让管道转换每个集合内的元素。
将集合转换为其元素流很容易,但我还需要将1个集合中所有转换的元素一起收集回1个新集合(仅包含以前在原始集合中也在一起的转换对象)。因此,我必须知道何时处理了1个集合的特定元素流,因为这样我就可以发出转换后的集合,以便在常规管道中进行进一步处理。
1条答案
按热度按时间uqcuzwp81#
正如评论者所建议的,你可以使用
fold
在你的transformationPipeline
组合列表类型元素。在运行流时维护列表边界,而不是mapConcat
使用flatMapConcat
,如下所示: