У меня есть HashSet of Persons.У человека есть имя, фамилия и возраст, например: Person («Ганс», «Мужчина», 36)
Моя задача - получить список людей старше 17 лет, отсортировать их по возрасту иконкатенируйте firstName с lastName, например: ["Hans Man", "другое имя", "другое имя"]
Мне разрешено импортировать:
import java.util.stream.Stream;
import java.util.stream.Collectors;
import java.util.List;
import java.util.ArrayList;
Моя идея состояла в том, чтобы сначала отсортировать их, сопоставить имена в отдельных потоках и сжать их, но это не работает.
public static void getNamesOfAdultsSortedByAge(Stream<Person> stream){
Stream<Person> result = stream;
Stream<Person> result1 = result.filter(p -> p.getAge() >= 18)
.sorted((x, y) -> Integer.compare(x.getAge(),y.getAge()));
Stream<String> firstName = result1.map(Person::getFirstName);
Stream<String> lastName = result1.map(Person::getLastName);
Stream<String> result3 = concat(firstName, lastName);
List<String> result4 = result3.collect(Collectors.toList());
System.out.println(result4);
}
заранее спасибо