LoginSignup
1
1

More than 3 years have passed since last update.

[Java] flatMapとは

Posted at

公式ドキュメントでは

Stream flatMap(Function<? super T,? extends Stream<? extends R>> mapper)

このストリームの各要素をマップされたストリーム(指定されたマッピング関数を各要素に適用することで得られる)の内容で置き換えた結果から成るストリームを返します。

Stream (Java Platform SE 8 )

要するに

以下の手順で処理される
1. Stream内のオブジェクトを受け取りStreamに変換
2. 変換された各Streamを1つのStreamにまとめる

abcde が出力される


Arrays.asList("a,b,c", "d,e")
    .flatMap(str -> Arrays.stream(str.split(','))
    .forEach(str -> System.out.print(str));

※2重リストから作られる Stream<List<List<String>> であれば、mapping関数の引数(上の例でstr)はListになるが、Listでなくてもよい。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1