gpt4 book ai didi

java - 如何使用 Java 流将子生成的列表组合成单个列表?

转载 作者:行者123 更新时间:2023-12-02 02:19:09 24 4
gpt4 key购买 nike

在下面的代码中,我不喜欢 List<EmailDraft>在流外部定义的列表。我很确定有一种方法可以让流处理返回 List<EmailDraft>直接列出,我只是不知道该怎么做。想法?

List<EmailDraft> drafts   /* <-- don't like this */
= new LinkedList<>();

List<SyndFeed> feeds
= evnt.getFeeds();

feeds.stream().forEach(
sf -> sf.getEntries().stream().forEach(se -> {

EmailDraft ed = new EmailDraft();

// Title
ed.setTitle(sf.getTitle());

// ....

// Add to list
drafts.add(ed); /* <-- don't like this either */
})
);

最佳答案

您可以在提要上使用 flatMap收集列表中的所有电子邮件草稿,如下所示:

List<EmailDraft> emailDrafts =
feeds.stream()
.flatMap(
sf -> sf.getEntries().stream().map(se -> {

EmailDraft ed = new EmailDraft();

// Title
ed.setTitle(sf.getTitle());

return ed;
})
).collect(Collectors.toList());

关于java - 如何使用 Java 流将子生成的列表组合成单个列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48770892/

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