ホームページ  >  記事  >  Java  >  Java の Lambda 関数とは何か、および例。

Java の Lambda 関数とは何か、および例。

Linda Hamilton
Linda Hamiltonオリジナル
2024-09-20 06:41:31331ブラウズ

What Is a Lambda Function in Java and Example.

1. Lambda 関数を理解する

ラムダ関数またはラムダ式は、Java で匿名メソッドを記述するための明確かつ簡潔な構文を提供する方法です。これらを使用すると、関数型インターフェイスの実装を、より読みやすく表現力豊かな方法で作成できます。

1.1 Lambda 関数とは何ですか?

Java のラムダ関数は、パラメーターを受け取り、値を返す短いコード ブロックです。これは本質的に名前のないメソッドであり、機能を引数としてメソッドに渡したり、変数として保存したりできます。

構文

ラムダ関数の基本的な構文は次のとおりです:

(parameters) -> expression

または、複数のステートメントがある場合:

(parameters) -> {
    // multiple statements
}

1.2 機能インターフェイス

ラムダ式を使用するには、関数型インターフェイスが必要です。関数型インターフェイスは、抽象メソッドを 1 つだけ持つインターフェイスです。例には、単一の抽象メソッドを備えた Runnable、Callable、およびカスタム インターフェイスが含まれます。

1.3 Lambda 関数の利点

  • 簡潔性 : ラムダ式は定型コードの削減に役立ちます。
  • 可読性 : コードがより読みやすく、表現力豊かになります。
  • 使いやすさ : ストリーム操作やイベント処理などのシナリオで役立ちます。

2. Java での Lambda 関数の使用

2.1 基本的な例

Java のラムダ関数の簡単な例から始めましょう。 Runnable インターフェイスを使用して次のことを説明します。

public class LambdaExample {
    public static void main(String[] args) {
        // Traditional way
        Runnable oldRunnable = new Runnable() {
            @Override
            public void run() {
                System.out.println("Running in a thread!");
            }
        };
        new Thread(oldRunnable).start();

        // Using Lambda Expression
        Runnable lambdaRunnable = () -> System.out.println("Running in a thread with Lambda!");
        new Thread(lambdaRunnable).start();
    }
}

出力

Running in a thread!
Running in a thread with Lambda!

2.2 高度な例: コレクションでの Lambda の使用

Lambda 関数は、コレクションを操作する場合に特に便利です。以下は、ラムダ式を使用して文字列のリストを並べ替える例です。

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

public class LambdaListExample {
    public static void main(String[] args) {
        List<String> names = Arrays.asList("John", "Jane", "Paul", "Alice");

        // Using lambda to sort the list
        names.sort((name1, name2) -> name1.compareTo(name2));

        // Printing sorted names
        names.forEach(name -> System.out.println(name));
    }
}

出力

Alice
Jane
John
Paul

2.3 実践的なデモ: ストリームによるフィルタリング

ラムダ式は、フィルタリングやマッピングなどの操作のために Java Streams と組み合わせると威力を発揮します。ラムダを使用して整数のリストをフィルタリングおよび処理する方法は次のとおりです。

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class LambdaStreamExample {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

        // Filtering even numbers and squaring them
        List<Integer> squaredEvens = numbers.stream()
            .filter(n -> n % 2 == 0)
            .map(n -> n * n)
            .collect(Collectors.toList());

        // Printing the result
        squaredEvens.forEach(System.out::println);
    }
}

出力

4
16
36
64
100

3. 結論

Java の Lambda 関数は、匿名メソッドと関数型インターフェイスを処理するための、よりコンパクトで表現力豊かな方法を提供します。特にコレクションやストリーム操作を扱う場合、コードが大幅に簡素化され、読みやすさが向上します。

ご質問がある場合、またはさらに詳しい説明が必要な場合は、お気軽に以下にコメントを残してください。

で投稿の詳細をお読みください: Java の Lambda 関数とは何か、および例。

以上がJava の Lambda 関数とは何か、および例。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。