Scalaのforeachとmapの使い方の違いとは?【Scala】【foreach】【map】【違い】

こんにちは、たくじろう(@takujiro_0529)です。

今回はScalaの「foreach」と「map」の違いを端的に表してみたいと思います。

スポンサーリンク




さっそく実行

「val list」 に値を入れて、「list.foreach(println)」と「list.map(println)」を実行しました。

foreach

順番に出力をしました。

map

順番に出力した後、「res1:」として返り値がありました

本当に返り値として受け取れるか、検証してみます。

今度は「val result = list.map(m => m + “A”)」として、listの各String要素の末尾に「A」を追加してます。

そして「result.foreach(println)」で要素すべて出力してみたところ、すべての要素の末尾に「A」が追加されているのを確認することができます。

まとめ

「foreach」と「map」の違いはこれだけではないかと思いますが、大きく見たときに、
「foreach: すべてを要素を見に行く」
「map: すべての要素を見に行って、新たにマッピングした値を返す」
といった感じで利用すればいいのではないでしょうか。

まだまだ勉強中で、間違った見解かもしれませんので、ご指摘などありましたら宜しくお願い致します。

byたくじろう(@takujiro_0529)

スポンサーリンク

スポンサーリンク



シェアする

  • このエントリーをはてなブックマークに追加

フォローする