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