Java 8ラムダ式のflatMap

記事ディレクトリ

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 メソッドを使用した効果を示しています。

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/u014212540/article/details/129764763