Javaその他

Java StreamのforEachメソッドやラムダ式を利用してリストの繰り返し処理を実行してみた

Java StreamのforEachメソッドやラムダ式を利用すると、for文を使わなくても、リスト等の繰り返し処理を実行できるため、見通しのよいプログラムを作成できる。

今回は、Java StreamのforEachメソッドやラムダ式を利用したサンプルプログラムを作成してみたので、共有する。

なお、forEachメソッドやラムダ式についての説明は、以下のサイトを参照のこと。
https://qiita.com/uchi_y/items/b292e231b0fe3c6032ee



前提条件

下記記事のIntelliJ IDEA Community版をダウンロード済であること。

IntelliJ IDEAをインストールしてみた「IntelliJ IDEA(インテリジェイ アイディア)」という、Eclipseと同等の機能をもつJava用統合開発環境を使って、Sp...

また、下記のように、「demoJava」というJavaプロジェクトを作成済であること。
demoJavaプロジェクト

なお、IntelliJ IDEA上でJavaプロジェクトを作成する方法については、IntelliJ IDEA Community版をダウンロードする記事内の、「IntelliJ IDEA上でのJavaプロジェクトの作成・実行」を参照のこと。



サンプルプログラムの作成と実行

今回作成したサンプルプログラムの構成は以下の通り。
サンプルプログラムの構成

また、今回作成したJava StreamのforEachメソッドやラムダ式を利用したサンプルプログラムは、以下の通り。

package demo.java;

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

public class DemoMain {

    public static void main(String[] args){
        // 下記リストのうち、null以外の各項目が全て表示するサンプルプログラムを
        // 2通りの方法で作成
        List<String> sampleList = Arrays.asList("aaa", "bbb", null, "ddd");

        System.out.println("*** forEach, filter, ラムダ式を利用しない場合 ***");
        for(String str : sampleList){
            // null以外の項目を全て表示する
            if(str != null){
                System.out.println(str);
            }
        }
        System.out.println();

        System.out.println("*** forEach, filter, ラムダ式を利用した場合 ***");
        sampleList.stream()
              .filter(r -> r != null)  // null以外の項目がforEachメソッドの実行対象
              .forEach(r -> System.out.println(r));  // 全て表示する
    }
}



フリーランスエンジニアのエージェントは就業中でも無料で登録できるITエンジニアには、フリーランスという働き方がある。 フリーランスとは、会社や団体などに所属せず、仕事に応じて自由に契約する人のこ...

さらに、その実行結果は以下の通りで、それぞれ、null以外の項目を全て表示している。
サンプルプログラムの実行結果

要点まとめ

  • Java StreamのforEachメソッドやラムダ式を利用すると、for文を使わなくても、リスト等の繰り返し処理を実行できる
  • Java Streamのfilterメソッドで、forEachメソッドを実行する条件を指定できる。