1。概要:
flatMap の機能は、同じタイプの要素の複数のストリームを出力用の 1 つのストリームに結合することです。
2. 例:
単語のリスト ["Hello", "World"] が与えられた場合、["H"、"e"、"l"、"o"、"W"、"r"、"d" のリストを返したいとします。 ]
List<String> uniqueCharacters =
words.stream()
.map(w -> w.split("")) //将每个单词转换为由其字母构成的数组
.flatMap(Arrays::stream) //将各个生成流扁平化为单个流
.distinct()
.collect(Collectors.toList());
flatMap メソッドを使用する効果は、各配列がストリームではなく、ストリームのコンテンツにマップされることです。map(Arrays::stream) を使用したときに生成された個々のストリームはすべて結合されます。つまり、単一のストリームにフラット化されます。次の図は、flatMap メソッドを使用した効果を示しています。