●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

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

Javaでは、関数のように処理そのものを変数として渡すことができる「ラムダ式」という書き方があります。
主に関数型インターフェースと一緒に使われ、コードをシンプルに保つことができます。

ラムダ式の基本構文

(引数) -> { 処理内容 }
    

例:1つの引数を2倍にして表示

x -> System.out.println(x * 2)
    

引数が1つだけなら () は省略可能です。
処理が1行だけなら { } も省略できます。

従来の書き方と比較

// 従来の無名クラス
Runnable r1 = new Runnable() {
    public void run() {
        System.out.println("Hello!");
    }
};

// ラムダ式
Runnable r2 = () -> System.out.println("Hello!");
    

関数型インターフェースとは?

関数型インターフェースとは、抽象メソッドが1つだけのインターフェースのことです。
ラムダ式はこのようなインターフェースと一緒に使います。

例:オリジナルの関数型インターフェース

@FunctionalInterface
interface Greet {
    void sayHello(String name);
}

// ラムダ式で実装
Greet greet = name -> System.out.println("こんにちは " + name + " さん");
greet.sayHello("太郎");  // → こんにちは 太郎 さん
    

標準ライブラリで使われる例

Javaには、Stream APICollections などでラムダ式を使える場面がたくさんあります。

import java.util.*;

List names = Arrays.asList("Taro", "Hanako", "Jiro");
names.forEach(name -> System.out.println(name));
    

よく使う関数型インターフェース

  • Runnable:引数なし、戻り値なし
  • Consumer<T>:引数あり、戻り値なし
  • Function<T, R>:引数あり、戻り値あり
  • Predicate<T>:条件を判定(true/false)

まとめ

ラムダ式(Lambda Expression)は、処理内容をそのまま値として渡すモダンな記述方法です。
Java 8以降で導入され、コードの簡潔さ・読みやすさ・柔軟性を大きく向上させます。
関数型インターフェースとセットで覚えておくと、Javaの新しい書き方がグッと理解しやすくなります!

 

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)」とは?