ラムダ式(lambda expression)とは?
ラムダ式は、プログラミングにおける関数を簡潔かつ効率的に書くことができる構文の一つです。Java 8から導入された機能で、関数型プログラミングにおいて重要な役割を担っています。
ラムダ式の基本概念
ラムダ式は、「(引数) -> (処理)」の形で記述されます。この構文により、関数を記述する際に、メソッド名や引数の型を省略することができます。また、関数を変数に代入することができるため、コードの再利用性が高くなります。
例
以下は、「(int a, int b) -> a + b」で表される、2つの引数を取り合計を返す関数の例です。
“`
IntBinaryOperator sum = (int a, int b) -> a + b;
int result = sum.applyAsInt(1, 2); // result = 3
“`
ラムダ式の使い方
ラムダ式は、主に以下の3つの場面で使用されます。
1. インターフェースの実装
インターフェースを実装する際に、ラムダ式を使用することで、匿名クラスを使用する場合に比べて、記述量を削減することができます。
例
以下は、Comparatorインターフェースを実装し、比較結果を返すラムダ式の例です。
“`
List
Collections.sort(list, (s1, s2) -> s1.compareTo(s2));
“`
2. ストリーム処理
Java 8から導入されたストリーム処理において、ラムダ式は非常に重要な役割を担っています。ストリーム処理においては、ラムダ式を使用して、各要素の処理を行ったり、要素の絞り込みを行ったりすることができます。
例
以下は、ストリーム処理においてラムダ式を使用して、値の合計を計算する例です。
“`
List
int sum = list.stream().mapToInt(x -> x).sum(); // sum = 15
“`
3. 遅延評価
ラムダ式を使用することで、遅延評価(Lazy Evaluation)を実現することができます。遅延評価とは、処理結果が必要になるまで処理を実行しない仕組みのことで、メモリ消費を抑えることができます。
例
以下は、遅延評価を実現するラムダ式の例です。
“`
Stream
Stream
“`
以上が、ラムダ式の基本概念と使い方の解説です。ラムダ式を適切に活用することで、より効率的かつ簡潔なコードを実現することができます。
参考記事
合わせて読みたい
【Google Chrome】右クリックで翻訳がでなくなった時の対策方法の決定版