gpt4 book ai didi

java将 parent 和 child 流式传输到一个列表中

转载 作者:搜寻专家 更新时间:2023-10-31 19:32:11 27 4
gpt4 key购买 nike

TL;DR:使用 java streaming api 将有 child 的 parent 列表转换为人员列表。

让我们假设以下类:

public abstract class Person {
private String name;
}

public class Parent extends Person {
List<Children> children;
}

public class Child extends Person {
int age;
}

下面的代码会给我一个所有 child 的列表

List<Child> allChildren = parents.stream()
.flatMap(p -> p.getChildren().stream())
.collect(Collectors.toList());

我想获得所有人的名单,包括 parent 。使用 Java 8 流式传输完全有可能吗?

最佳答案

您可以将 parent 添加到流中 using Stream::concat :

List<Person> persons = parents.stream()
.flatMap(p -> Stream.concat(Stream.of(p), p.getChildren().stream()))
.collect(Collectors.toList());

关于java将 parent 和 child 流式传输到一个列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40235356/

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