年収アップ無料転職カウンセリング実施中! | 転職エージェントはマイナビエージェント

Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職

Stream APIの基本

Stream APIによる処理は、大雑把に以下のように分類できます。

・データソースからStreamを生成
・加工/フィルターなどの中間処理
・最終的な集計/出力などの終端処理

たとえば以下は、リストから5文字以上の文字列だけを抽出し、その頭文字だけを順に出力する例です。

StreamBasic.java

\package com.example.mynavi.streamapi;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class StreamBasic {
  public static void main(String[] args) {
    List<String> data = new ArrayList<>(
      Arrays.asList("あいう", "かきくけこ", "さしすせそ"));
    data
      // ①Streamを生成
      .stream()
      // ②中間処理(加工)
      .filter(s -> s.length() >= 5)
      .map(s -> s.substring(0))
       // ③終端処理
      .forEach(System.out::println);
  }
}

かきくけこ
さしすせそ

リスト(ArrayList)からStreamを生成するにはstreamメソッドを呼び出すだけです。この例であればString型のリストなので、生成されるのもStream<String>です。

Streamを生成できたら、これを流れる値を処理(加工)するのが中間処理です(②)。ここではfilterメソッドで文字数が5以上である文字列だけを残し、残った文字列からsubstringメソッドで頭文字だけ取り出します。このように中間処理は必要に応じて複数あっても構いませんし、不要であれば省略しても構いません。

最終的な処理結果を出力するのが最終処理です。この例であれば、forEachメソッドを使って、得られた結果を順に出力しています。

Stream API
Stream APIの基本
Streamの生成
Streamによる中間処理
Streamの終端処理

年収アップ無料転職カウンセリング実施中! | 転職エージェントはマイナビエージェント

Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職