gpt4 book ai didi

java - 我如何使用 flatMap 实现此目的

转载 作者:行者123 更新时间:2023-11-29 08:21:08 27 4
gpt4 key购买 nike

我需要创建一个新的内部列表并使用它来设置外部列表。我该怎么做才能使用 flatMap。 fooList 是 FooDb 对象的列表,我从中创建 Foo 对象的列表。

final ArrayList<FooDb> fooList= getFooFromDB();    
final ArrayList<Foo> foos = new ArrayList<>();
fooList.forEach(foo -> {
final ArrayList<Bar> bars = new ArrayList<>();
item.getItems()
.forEach(item -> bars.add(new Bar(foo.getId(), foo.getName())));
foos.add(new Foo(0L, foo.getId(), bars));
});

最佳答案

你不需要flatMap .你有两个 map操作:

  1. List<Item> -> List<Foo(..., ..., List<Bar>)> , 和
  2. List<Item> -> List<Bar>这是前者所必需的。

List<Foo> foos = 
itemsList.stream()
.map(item -> new Foo(0L, item.getId(), item.getItems()
.stream()
.map(i -> new Bar(i.getId(), i.getName()))
.collect(Collectors.toList())))
.collect(Collectors.toList());

糟糕的格式,我已经使用 Stream API 好几年了,从来没有写出好看的链。随意编辑。

关于java - 我如何使用 flatMap 实现此目的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58130844/

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