1. ラムダ式って何?初めての方へ基本から説明!
ラムダ式は、Java 8で導入され、コーディングの簡潔化や可読性の向上をもたらしています。
一般的なメソッドの記述を、よりシンプルかつ直感的な形で表現できるようになり、特にコレクションの操作などでそのメリットを大いに発揮します。
実は食べ物じゃないんだよ、サルモリさん!コードを短く書けて、処理が速くなる可能性もあるんだ!
基本構文
ラムダ式の基本構文はとてもシンプルで、以下のようになっています。
(引数) -> { 処理 }
ポイント
ラムダ式の基本構文は、「(引数) -> { 処理 }」です。
2. 基本的なラムダ式の使い方を学ぼう
それでは、具体的なコードを使って、ラムダ式の基本的な使い方を学んでいきましょう。
以下の例では、リストに含まれる各要素をラムダ式を用いて出力しています。
step
1
最初のコードを見てみよう!
ソースコード例1
1 2 3 4 5 6 7 8 9 10 11 12 |
import java.util.Arrays; import java.util.List; public class Program { public static void main(String[] args) { List<String> list = Arrays.asList("Apple", "Banana", "Cherry"); list.forEach(s -> { System.out.println(s); }); } } |
出力結果
Apple
Banana
Cherry
そうだね、サルモリさん!ちなみに、1つの引数と1行の処理しかない場合は、もっとシンプルに書くこともできるんだよ!
step
2
次のコードも見てみよう!
ソースコード例2
1 2 3 4 5 6 7 8 9 10 |
import java.util.Arrays; import java.util.List; public class Program { public static void main(String[] args) { List<String> list = Arrays.asList("Apple", "Banana", "Cherry"); list.forEach(System.out::println); } } |
出力結果
Apple
Banana
Cherry
ポイント
メソッド参照「::」を使うと、コードをさらにシンプルに書けます。
ラムダ式の基本的な使い方
ラムダ式は、簡潔な方法で関数を表現できるJavaの機能です。
基本的な形式は以下の通りです。
ソースコード例
1 |
(parameters) -> expression |
その通り、サルモリさん!続けて、具体的な例を見てみましょう。
KindleUnlimited会員であれば、全ての本をご覧頂けます。 StreamAPIを理解すれば、Javaの世界が変わる 第1版
1. 引数なしのラムダ式
ソースコード例
1 |
() -> System.out.println("Hello, Lambda!") |
出力結果
Hello, Lambda!
2. 1つの引数を持つラムダ式
ソースコード例
1 |
x -> x * x |
3. 複数の引数を持つラムダ式
ソースコード例
1 |
(int x, int y) -> x + y |
4. 複数行のラムダ式
ラムダ式は複数のステートメントを持つことができます。
その場合、波括弧{}を使用して、それらのステートメントを囲みます。
ソースコード例
1 2 3 4 5 |
(int x, int y) -> { int sum = x + y; System.out.println("Sum: " + sum); return sum; } |
出力結果
Sum: 7
ラムダ式の活用
ラムダ式は、特にコレクションやストリームの操作において非常に有用です。
たとえば、Listの各要素に何かの操作を適用する場合や、要素をフィルタリングする場合にラムダ式を利用することができます。
下記の例では、StreamAPIのmap関数を使用して、リストの各要素を大文字に変換しています。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 |
import java.util.List; import java.util.stream.Collectors; public class Program { public static void main(String[] args) { List<String> names = List.of("Taro", "Jiro", "Saburo"); List<String> upperCaseNames = names.stream() .map(name -> name.toUpperCase()) .collect(Collectors.toList()); System.out.println(upperCaseNames); } } |
出力結果
[TARO, JIRO, SABURO]
まとめ
今回はJavaのラムダ式について詳しく解説しました。
ラムダ式は簡潔な記述でありながら、コードの可読性を高める強力なツールです。これを使うことで、コードがすっきりとして理解しやすくなります。
Javaプログラミングを学ぶ上で、ラムダ式の理解は不可欠です。ぜひこの記事を参考に、ラムダ式を上手く活用してくださいね!