我有一个java代码,类似于
/*Statement A*/
dataList.stream.map(ClassA::mapFunction).collect(Collectors.toList())mapFunction的定义如下:
List<Entry> mapFunction(DataListItem dataListItem)因此,上面的stream().map()调用返回List<List<Entry>>
我想要的是返回值应该是list<Entry> (基本上是附加所有返回值),为此,我目前正在做的是:
final List<Entry> entryList = new ArrayList<>();
dataList.stream.map(dataListItem -> entryList.addAll(ClassA.mapFunction(dataListItem))
.collect(Collectors.toList());有没有一种干净的方法来附加mapFunction返回值,使语句A的结果只是一个List<Entry>而不是List<List<Entry>>。
发布于 2020-04-28 08:44:37
flatMap操作,与map、filter、collect等一样,是您对流执行的操作,它执行以下操作:
您提供了一个lambda,它将流中的每个元素转换为流本身(因此是流的流),然后操作的“输出”是由所有这些流连接在一起的单个流。
https://stackoverflow.com/questions/61470589
复制相似问题