map
будет повторяться для каждого Person
в вашем списке. Похоже, что вашему Bus
нужен весь список в качестве параметра. На самом деле вы пытаетесь создать новый Bus
для каждого имени в списке passengers
.
Вы можете передать собранный список непосредственно в конструктор:
public Bus createBus(List<String> passengers) {
return new Bus(passengers.stream()
.map(name -> new Person(name))
.collect(Collectors.toList()));
}
или сохраните его в переменной (что мне кажется более понятным):
public Bus createBus(List<String> passengers) {
List<Person> persons = passengers.stream()
.map(name -> new Person(name))
.collect(Collectors.toList());
return new Bus(persons);
}