Java ラムダ式使い方
2025 年 6 月 11 日 by marukorラムダ式とは?
ラムダ式は、「名前のない関数」(=匿名関数)です。
Javaでは主に「関数型インターフェース(1つだけメソッドがあるインターフェース)」の実装を簡潔に書くために使います。
なぜ使う?
クラスやメソッドをわざわざ定義しなくても、処理(関数)をその場で書いて渡せる。
コードが短く・読みやすくなる。
書き方
(引数) -> { 処理 }
例
x -> x * 2 // x を 2倍にする
(a, b) -> a + b // a と b を足す
() -> System.out.println("Hello!") // 引数なし
中カッコ {} と return は、1行の処理であれば省略可能です。
ラムダ式の使用例
例1:リストを並び替える(Comparator)
public class Sample {
public static void main(String[] args) {
List<String> list = Arrays.asList("banana", "apple", "cherry");
// ラムダ式を使う
Collections.sort(list, (a, b) -> a.compareTo(b));
System.out.println(list);
}
}
Comparator にラムダ式を渡すことで、短く記述できます。
例2:Streamとラムダ式の組み合わせ
public class StreamExample {
public static void main(String[] args) {
List<String> fruits = Arrays.asList("apple", "banana", "avocado", "orange");
// "a"で始まる果物だけ表示
fruits.stream()
.filter(f -> f.startsWith("a"))
.forEach(f -> System.out.println(f));
}
}
filter や forEach にラムダ式を使うことで、処理の流れがわかりやすくなります。
関数型インターフェースにラムダ式を使う
@FunctionalInterface
interface Greet {
void sayHello(String name);
}
public class LambdaDemo {
public static void main(String[] args) {
Greet g = (name) -> System.out.println("Hello, " + name);
g.sayHello("Taro");
}
}
関数型インターフェースにラムダ式を当てはめることで、無名関数のように使えます。
まとめ
この記事では、Javaのラムダ式の基本と使用例を紹介しました。
ラムダ式は無名関数のように使え、コードを簡潔にできます。
従来の書き方と比べて見通しが良く、特にリスト処理やStreamと相性が良いです。
タグ: Java

