●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

データを簡潔に処理!Javaの「Stream API」とは?

Java 8 から追加された Stream API は、リストや配列などの集合データに対して、
繰り返し・絞り込み・変換・集計といった処理を簡潔に記述できる仕組みです。

Streamの基本イメージ

Streamは「データの流れ」を作って、パイプラインのように処理をつなげることができます。

コレクション.stream()
    .中間操作1()
    .中間操作2()
    .終端操作();
    

主な操作の種類

  • 中間操作:filter(絞り込み)、map(変換)、sorted(並べ替え)など
  • 終端操作:forEach(表示)、collect(リストに変換)、count(件数)など

よく使うStream操作の例

例1:名前リストを全て表示

List names = Arrays.asList("Taro", "Hanako", "Jiro");

names.stream()
     .forEach(name -> System.out.println(name));
    

例2:「a」を含む名前だけを抽出

names.stream()
     .filter(name -> name.contains("a"))
     .forEach(System.out::println);
    

例3:すべて大文字に変換

names.stream()
     .map(name -> name.toUpperCase())
     .forEach(System.out::println);
    

例4:ソートして表示

names.stream()
     .sorted()
     .forEach(System.out::println);
    

例5:5より大きい数の合計

List numbers = Arrays.asList(3, 7, 1, 8, 2);

int sum = numbers.stream()
                 .filter(n -> n > 5)
                 .mapToInt(n -> n)
                 .sum();

System.out.println(sum);  // 出力: 15
    

collectでListやSetに変換

List result = names.stream()
                           .filter(name -> name.length() <= 4)
                           .collect(Collectors.toList());
    

Streamのメリット

  • 処理の流れが読みやすくなる
  • for文を書かずにデータ操作できる
  • 並列処理(parallelStream)も簡単に対応

まとめ

Stream APIは、Javaでデータ処理を簡潔・直感的に記述できる機能です。
stream() を使えば、フィルタ・変換・集計・出力まで一連の流れで処理できます。
最初は filtermapcollect あたりから慣れていくのがおすすめです!

 

Java関連用語集

−−−−−  Java  −−−−−

Javaの基本「クラス(Class)」とは?

Javaの基本「オブジェクト(Object)」とは?

Javaの処理を定義する「メソッド(Method)」とは?

Javaのデータを保持する「フィールド(Field)」とは?

Javaの「クラスの実体」インスタンス(Instance)とは?

クラスの再利用と拡張を実現!「継承(Inheritance)」とは?

オブジェクト指向の柔軟性!「多態性(Polymorphism)」とは?

データを守り、使いやすくする!「カプセル化(Encapsulation)」とは?

共通の土台を定義する「抽象クラス(Abstract Class)」とは?

クラスの共通ルールを定義する「インターフェース(Interface)」とは?

Javaのクラス整理箱「パッケージ(Package)」とは?

Javaで他のクラスを使う「import文」とは?

クラスやメソッドの公開範囲を制御する「アクセス修飾子」とは?

クラスに属するメンバーを定義する「static(静的)」とは?

値や定義を固定するキーワード「final(定数・変更不可)」とは?

エラーが起きても安全に!Javaの「try-catch(例外処理)」とは?

例外を発生させる / 伝える!「throw」と「throws」とは?

オブジェクトの初期化に使う「コンストラクタ(Constructor)」とは?

同じ名前で違う使い方ができる!「オーバーロード(Overload)」とは?

親クラスのメソッドを書き換える!「オーバーライド(Override)」とは?

自分自身を指し示す「thisキーワード」とは?

親クラスを扱う「superキーワード」とは?

クラスからオブジェクトを作る!「newキーワード」とは?

「何もない」を表す特別な値「null」とは?

複数のデータをまとめて扱う「配列(Array)」とは?

配列より便利!Javaの「コレクション(Collection)」とは?

Javaの3大コレクション型「List / Map / Set」ってなに?

コードをスッキリ書ける!「ラムダ式(Lambda Expression)」とは?

データを簡潔に処理!Javaの「Stream API」とは?

Javaをどこでも動かす「JVM(Java Virtual Machine)」とは?