Java8 の Stream 型に,flatMap ってメソッドがあることを知った.
reduce(畳み込み)の代わりに使える.
reduce
Set<Person> byReduce = teams.stream() .map ( team -> team.listMember() ) .reduce( Collections.emptySet(), (a, b) -> Sets.union(a, b) );
flatMap
Set<Person> byFlatMap = teams.stream()
.flatMap( team -> team.listMember().stream() )
.collect( Collectors.toSet() );
どっちを使っても2回メソッドを呼び出すので,あんまり違いは無いのかも.