BETA

JAVA Stream文のmapとflatMapの使い分け

投稿日:2020-03-11
最終更新:2020-03-11

JAVA Stream文のmapとflatMapの使い分け

flatMapは追加でStreamを使いたい時に便利

例えば、会社員における全部署の人をリスト化する時
部署リスト
 -社員リスト
こんな感じでリストの中にリストがある時は非常に便利だ

List<Shain> shainList = bushoList.stream().flatMap(busho -> busho.getShainList().stream()).collect(Collectors.toList());  

※分かりやすく変数名は和名

この1行で、部署リストから全部署の人のリストを取ってこれる

List<String> name = shainList.stream().map(shain -> shain.getName).collect(Collectors.toList);  

こうすれば社員リストから社員の名前だけのリストを取ってこれる

mapはそのままの値が欲しい時

flatMapは得られた値をさらにStreamしたい時

というイメージで使い分けをする。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@ken1の技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう