gpt4 book ai didi

JAVA如何将.map()的返回值追加到列表中而不是返回列表的列表

转载 作者:行者123 更新时间:2023-12-02 08:39:26 25 4
gpt4 key购买 nike

我有一个类似的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>> .

最佳答案

flatMap 操作,这是您对流执行的操作,与 mapfiltercollect 相同等,它执行以下操作:

您提供一个 lambda,将流中的每个元素转换为流本身(即流的流),然后操作的“输出”是由所有这些流连接在一起组成的单个流。

关于JAVA如何将.map()的返回值追加到列表中而不是返回列表的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61470589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com