コレクションのコレクションを繰り返し処理したい。グアバを使用すると、次のようになります。
import static com.google.collections.Iterables.*;
class Group {
private Collection<Person> persons;
public Collection<Person> getPersons();
}
class Person {
private String name;
public String getName();
}
Collection<Group> groups = ...;
Iterable<Person> persons = concat(transform(groups, Group::getPersons()));
Iterable<String> names = transform(persons, Person::getName);
しかし、Java 8 ストリームで同じことを行うにはどうすればよいでしょうか?
groups.stream().map(Group::getPersons())...?