Я хочу преобразовать список вложенных объектов в плоский список с использованием потоков Java.
По этой причине список компаний сначала состоит из сотрудников: < /p>
// create Apple Employees
List appleEmployees = List.of(
new Employee("John", "Doe"), new Employee("Joe", "Bloggs")
);
Company apple = new Company("Apple", appleEmployees);
// create Microsoft Employees
List microsoftEmployees = List.of(
new Employee("John", "Public"), new Employee("Harry", "Fortune")
);
Company microsoft = new Company("Microsofr", microsoftEmployees);
// put apple and microsft in a list
List companies = List.of(apple, microsoft);
// data carrier
record CompanyData(String companyName,String employeeName, String employeeSurname) {}
< /code>
Что мне нужно делать сейчас, если я использую Java Streams: < /p>
// How to stream this?
List companyData = companies.stream().????
< /code>
Мы должны иметь список из 4 объектов CompanyData в конце потока, который содержит имя компании и первую и фамилию сотрудника, что -то вроде этого: < /p>
List companyData = List.of(
new CompanyData("Apple", "John", "Doe"),
new CompanyData("Apple", "Joe", "Bloggs"),
new CompanyData("Microsoft", "John", "Public"),
new CompanyData("Microsoft", "Harry", "Fortune")
);
Это даже возможно, и следует ли использовать потоки Java для случая?
Я хочу преобразовать список вложенных объектов в плоский список с использованием потоков Java. По этой причине список компаний сначала состоит из сотрудников: < /p> [code] // create Apple Employees List appleEmployees = List.of( new Employee("John", "Doe"), new Employee("Joe", "Bloggs") ); Company apple = new Company("Apple", appleEmployees);
// create Microsoft Employees List microsoftEmployees = List.of( new Employee("John", "Public"), new Employee("Harry", "Fortune") ); Company microsoft = new Company("Microsofr", microsoftEmployees);
// put apple and microsft in a list List companies = List.of(apple, microsoft);
// data carrier record CompanyData(String companyName,String employeeName, String employeeSurname) {} < /code> Что мне нужно делать сейчас, если я использую Java Streams: < /p> // How to stream this? List companyData = companies.stream().???? < /code> Мы должны иметь список из 4 объектов CompanyData в конце потока, который содержит имя компании и первую и фамилию сотрудника, что -то вроде этого: < /p> List companyData = List.of( new CompanyData("Apple", "John", "Doe"), new CompanyData("Apple", "Joe", "Bloggs"), new CompanyData("Microsoft", "John", "Public"), new CompanyData("Microsoft", "Harry", "Fortune") ); [/code] Это даже возможно, и следует ли использовать потоки Java для случая?