gpt4 book ai didi

java - 如何在java 8中展平列表

转载 作者:行者123 更新时间:2023-12-01 12:38:50 27 4
gpt4 key购买 nike

class Employee {
private String name;
private List<Employee> members;
}

List<Employee> emps = Arrays.asList(new Employee("A", Arrays.asList(
new Employee("B", null),
new Employee("C", null)
)))

用于展平 List 的代码:
List<Employee> total = 
emps.stream()
.flatMap(emp -> emp.members.stream())
.collect(Collectors.toList());
total List应该有 3 个元素,但它只有 2 个。

最佳答案

Eran的回答是错误的,没有concatStream实例。这应该有效:

emps.stream()
.flatMap(emp -> Stream.concat(emp.members.stream(), Stream.of(emp)))
.collect(Collectors.toList());

Stream#concat

关于java - 如何在java 8中展平列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62259382/

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