ネストしたCollectionをflatmapで平坦化する例

当ページのリンクには広告が含まれています。
目次

概要

Java Goldの資格勉強をしていて、StreamのflatmapというメソッドでCollection等を平坦化(ネストした配列等を同階層の要素としてまとめること)の挙動で、3階層以上のネスト構造ではどのように振舞うかが気になったので調べてみました。

確認したこと

3階層のネストしたListをflatmapした場合

◆結論
 全てを平坦化はできず、1階層分のみ平坦化できる。

すべてを平坦化する方法

◆結論
 ネストしたCollectionを再帰的に処理するメソッドを用意することで、すべての要素を平坦化する。

まとめ

  • flatmapはネストした構造を平坦化できる。
  • 3階層以上にネストされた構造は、再帰的に処理することですべての要素を平坦化できる。

引用

Javaでストリームを使用してコンテナを平滑化する

最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

リーマンショックの影響で26歳の時にIT業界から離れ、紆余曲折を経て34歳でエンジニアに復帰しました。
復帰前は開発未経験でしたが、独学した知識と面接時のコミュニケーション力で見事開発エンジニアとして復帰しました!
今はフリーランスエンジニアとして仕事をしています。

■保有資格
・Java Gold SE 11

コメント

コメントする

CAPTCHA


目次