カテゴリ: Javaのラムダ式 更新日: 2026/03/26

Javaラムダ式の書き方を徹底解説!引数あり・引数なしの使い方を初心者向けに完全ガイド

2067
Java のラムダ式で「引数あり」「引数なし」の書き方を学ぼう

先生と生徒の会話形式で理解しよう

生徒

「Javaのラムダ式ってよく聞くんですが、引数ありとか引数なしってどういう意味なんですか?」

先生

「Javaのラムダ式は、メソッドを簡潔に書くための文法です。特にJava8以降でよく使われています。引数がある場合と、引数がない場合で書き方が少し変わります。」

生徒

「普通のメソッドと何が違うんですか?」

先生

「匿名クラスよりも短く書けるのが特徴です。今回はJavaラムダ式の基本構文と、引数あり・引数なしの違いをしっかり学びましょう。」

1. Javaのラムダ式とは何か

1. Javaのラムダ式とは何か
1. Javaのラムダ式とは何か

Javaのラムダ式とは、関数型インターフェースを実装するための簡潔な書き方です。Java8から導入され、コレクション処理やStreamAPIと組み合わせてよく利用されます。

従来は匿名クラスを使って処理を書いていましたが、ラムダ式を使うことでコードが短くなり、可読性が向上します。Java初心者にとっては少し難しく感じるかもしれませんが、基本の形を理解すれば決して難しくありません。

基本構文は次のようになります。

引数 -> 処理内容

このシンプルな構文が、Javaラムダ式の最大の特徴です。

2. 引数なしのラムダ式の書き方

2. 引数なしのラムダ式の書き方
2. 引数なしのラムダ式の書き方

まずは引数なしのラムダ式から学びましょう。引数がない場合は、丸括弧だけを書きます。処理内容だけを記述すればよいので、とてもシンプルです。

Runnableインターフェースを使った例を見てみましょう。


public class LambdaNoArgsExample {
    public static void main(String[] args) {

        Runnable task = () -> {
            System.out.println("ラムダ式の引数なしサンプルです");
        };

        task.run();
    }
}

実行結果は次のとおりです。


ラムダ式の引数なしサンプルです

このように、引数がない場合は丸括弧のみを記述します。Javaラムダ式の基本として、まずはこの形を覚えておきましょう。

3. 引数が1つあるラムダ式の書き方

3. 引数が1つあるラムダ式の書き方
3. 引数が1つあるラムダ式の書き方

次に、引数が1つある場合のラムダ式です。引数が1つの場合は、型を省略できることがあります。特に関数型インターフェースが明確な場合は、よりシンプルに書くことが可能です。


import java.util.function.Consumer;

public class LambdaOneArgExample {
    public static void main(String[] args) {

        Consumer<String> printer = message -> {
            System.out.println(message);
        };

        printer.accept("引数ありラムダ式のサンプルです");
    }
}

実行結果は以下の通りです。


引数ありラムダ式のサンプルです

引数が1つの場合、丸括弧を省略できるのがポイントです。Javaラムダ式では、この書き方がよく使われます。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. 引数が複数あるラムダ式の書き方

4. 引数が複数あるラムダ式の書き方
4. 引数が複数あるラムダ式の書き方

引数が2つ以上ある場合は、必ず丸括弧が必要になります。複数引数の場合は、カンマで区切って記述します。


import java.util.function.BiFunction;

public class LambdaTwoArgsExample {
    public static void main(String[] args) {

        BiFunction<Integer, Integer, Integer> add = (a, b) -> {
            return a + b;
        };

        int result = add.apply(5, 3);
        System.out.println("計算結果: " + result);
    }
}

実行結果は次のとおりです。


計算結果: 8

このように、Javaラムダ式で引数が複数ある場合は、丸括弧で囲む必要があります。戻り値がある場合は、return文を使います。

5. 処理が1行の場合の簡略化

5. 処理が1行の場合の簡略化
5. 処理が1行の場合の簡略化

Javaラムダ式では、処理が1行だけの場合は波括弧やreturnを省略できます。より簡潔に書けるのが特徴です。


import java.util.function.Function;

public class LambdaSimpleExample {
    public static void main(String[] args) {

        Function<Integer, Integer> square = x -> x * x;

        System.out.println(square.apply(4));
    }
}

16

このように、Javaラムダ式はシンプルな処理であれば非常に短く書けます。初心者の方は、まずは基本形を理解し、その後この省略形を覚えるとよいでしょう。

6. ラムダ式と従来の書き方の違い

6. ラムダ式と従来の書き方の違い
6. ラムダ式と従来の書き方の違い

Javaラムダ式を理解するためには、従来の匿名クラスとの違いを知ることが大切です。匿名クラスでは多くのコードを書く必要がありましたが、ラムダ式では処理部分だけに集中できます。

コードが短くなることで、可読性が向上し、特にJavaのコレクション処理やStreamAPIとの相性が非常に良くなります。Java初心者にとっても、将来必ず使う重要な機能です。

7. Javaラムダ式を使うときの注意点

7. Javaラムダ式を使うときの注意点
7. Javaラムダ式を使うときの注意点

Javaラムダ式は便利ですが、いくつか注意点があります。まず、関数型インターフェースである必要があります。抽象メソッドが1つだけ定義されているインターフェースでなければなりません。

また、可読性を意識して書くことも重要です。無理に短くしすぎると、かえって分かりにくくなることがあります。初心者の方は、まずは丁寧に書き、慣れてきたら簡略化するようにしましょう。

Javaラムダ式の引数ありと引数なしの違いをしっかり理解することで、Javaプログラミングの幅が大きく広がります。

まとめ

まとめ
まとめ

今回はJavaラムダ式の書き方について、引数なしのラムダ式、引数が一つあるラムダ式、引数が複数あるラムダ式の違いを中心に学びました。Javaラムダ式はJava八以降で導入された重要な機能であり、関数型インターフェースを簡潔に実装するための構文です。従来の匿名クラスと比較してコード量を大幅に削減できるため、可読性が向上し、保守性の高いプログラムを書くことが可能になります。

Javaラムダ式の基本構文は引数と矢印と処理内容という非常にシンプルな形です。引数がない場合は丸括弧のみを記述し、引数が一つの場合は型推論が働くため型を省略できることがあります。引数が複数ある場合は丸括弧で囲み、カンマで区切って記述します。この違いを理解することが、Javaラムダ式の第一歩です。

また、処理が一行だけの場合は波括弧やreturnを省略できるという特徴もあります。これにより、Javaのコードはさらに簡潔になります。特にStreamAPIやコレクションフレームワークと組み合わせた場合、Javaラムダ式の威力は最大限に発揮されます。Java初心者の方にとっても、ラムダ式は避けて通れない重要な文法です。

Javaラムダ式を正しく理解するためには、関数型インターフェースの概念も押さえておく必要があります。抽象メソッドが一つだけ定義されたインターフェースが対象となり、RunnableやConsumerやFunctionやBiFunctionなどが代表的な例です。これらを理解することで、Javaラムダ式の応用範囲は大きく広がります。

ここで改めて、引数なしと引数ありの違いを確認するためのサンプルプログラムをまとめてみましょう。Javaラムダ式の基本を復習することで、理解がより深まります。


import java.util.function.Function;

public class LambdaSummaryExample {
    public static void main(String[] args) {

        Runnable noArgs = () -> {
            System.out.println("引数なしラムダ式");
        };

        Function<Integer, Integer> square = x -> x * x;

        noArgs.run();
        System.out.println(square.apply(5));
    }
}

実行結果は次の通りです。


引数なしラムダ式
25

このように、Javaラムダ式は用途に応じて柔軟に書き方を変えることができます。引数の数によって丸括弧の有無が変わる点、処理が一行か複数行かによって波括弧やreturnの必要性が変わる点を整理して覚えておきましょう。

Javaプログラミングにおいて、ラムダ式はモダンな書き方の中心となる存在です。Javaの基本文法を学んだ後は、ラムダ式とStreamAPIを組み合わせた実践的なコードを書くことが次のステップになります。引数ありラムダ式と引数なしラムダ式の違いをしっかり理解し、状況に応じて適切に使い分けられるようになれば、Javaエンジニアとしてのスキルは大きく向上するでしょう。

先生と生徒の振り返り会話

生徒

Javaラムダ式の基本構文がやっと分かりました。引数なしの場合は丸括弧だけで、引数が一つなら丸括弧を省略できることがあるんですね。

先生

その通りです。Javaラムダ式では引数の数によって書き方が変わります。特に複数引数の場合は必ず丸括弧が必要になる点を覚えておきましょう。

生徒

処理が一行のときに波括弧やreturnを省略できるのも便利ですね。コードがとても短くなって読みやすいと感じました。

先生

はい。Javaラムダ式は可読性を高めるための機能です。ただし、無理に短くしすぎず、分かりやすさを優先することも大切です。

生徒

関数型インターフェースが前提になるという点も理解できました。RunnableやFunctionなどと一緒に使うんですね。

先生

その理解で大丈夫です。Javaラムダ式はJava八以降の重要な文法です。引数ありラムダ式と引数なしラムダ式の違いを整理して、実際にたくさんコードを書いて練習してください。

生徒

これからはコレクションやStreamAPIと組み合わせて、もっと実践的なJavaプログラミングに挑戦してみます。

先生

とても良い目標です。Javaラムダ式を自在に使えるようになれば、現代的なJava開発に対応できる力が身につきます。基礎を大切にしながら、着実にステップアップしていきましょう。

Javaのラムダ式の一覧へ
新着記事
Flutter
Flutterの画像・アイコン管理に便利なツール(flutter\_launcher\_iconsなど)
Flutterの画像・アイコン管理を完全解説!flutter_launcher_iconsで初心者でも簡単設定
Flutter
FlutterのGraphQLライブラリ(graphql\_flutter)の使い方
FlutterのGraphQLライブラリgraphql_flutterの使い方を徹底解説 初心者向けAPI通信入門
Flutter
FlutterのテストをCI/CDで自動化する方法(GitHub Actions活用)
FlutterのテストをCI/CDで自動化する方法を完全解説 GitHub Actionsで始める継続的インテグレーション入門
Flutter
Flutterのテスト駆動開発(TDD)とは?やり方とコツ
Flutterのテスト駆動開発TDDとは何かを徹底解説 初心者向けやり方とコツまとめ
人気記事
AWS
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
AWS
EC2でのバックアップ方法まとめ!スナップショット・AMI・自動化まで対応
EC2でのバックアップ方法まとめ!スナップショット・AMI・自動化まで対応
AWS
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク