Open3

Stream式とは?(Java)

ふじしろふじしろ

Stream APIとは?

Stream APIは繰り返し処理をサポートしてくれるライブラリ。

ここでいうStream(直訳で"川"や"流れ"の意)は、一連のループ処理の流れを意味する。
この処理の流れ(Stream)にデータを浮かべるようなイメージ

独習javaでは「データを処理するためのベルトコンベアー」に喩え、

Streamの中でデータが加工されていき、最終的な出口(終端)で加工した結果が得られます。

と説明している。

ふじしろふじしろ

ストリーム処理の流れ

Stream APIによる処理は以下の三つからなる。

  • データソースからのストリーム生成
  • 抽出/加工などの中間処理
  • 出力/集計などの終端処理
    独習Java P478
ふじしろふじしろ

どう書けばいいのか?

for文をStreamAPIで書き換える実例

全体像とコツの説明

mapメソッドは何をしている?

javadoc 原文
Returns a stream consisting of the results of applying the given function to the elements of this stream.
This is an intermediate operation.

和訳(DeepL)
指定された関数をこのストリームの要素に適用した結果からなるストリームを返します。
これは中間処理である。

ここで記載のある「指定された関数」は引数となるラムダ式(メソッド参照)を指している。
つまり、ストリームの要素に対して、引数として渡された処理を行い、その結果からストリームを作成してreturnすることを意味していると思われる