カテゴリ: Kotlin 更新日: 2025/07/21

Kotlinのラムダ式と通常関数の使い分けポイントをやさしく解説!初心者でも理解できる関数の選び方

Kotlinのラムダ式と通常関数の使い分けポイント
Kotlinのラムダ式と通常関数の使い分けポイント

先生と生徒の会話形式で理解しよう

生徒

「Kotlinのラムダ式って何ですか?普通の関数とはどう違うんでしょうか?」

先生

「ラムダ式は、簡単にいうと“名前のない関数”のことです。関数をその場でパッと書いて使える便利な方法なんです。」

生徒

「名前がない関数って、どういうときに使うんですか?普通の関数とどう使い分けるのか知りたいです。」

先生

「いいですね。それでは、Kotlinの通常関数とラムダ式の違いや、どんな場面で使い分ければいいのかを一緒に見ていきましょう!」

1. Kotlinの関数とは?まずは通常の関数を理解しよう

1. Kotlinの関数とは?まずは通常の関数を理解しよう
1. Kotlinの関数とは?まずは通常の関数を理解しよう

Kotlin(コトリン)では、「関数(Function)」とは、何かの処理をまとめておくための“命令のかたまり”です。例えば、「画面に文字を表示する」「足し算をする」などの処理を関数としてまとめておくことで、プログラムをスッキリ書くことができます。

通常の関数は、funというキーワードを使って名前をつけて定義します。


fun sayHello() {
    println("こんにちは!")
}

このように書いておけば、あとからsayHello()と書くだけで、同じ処理を何回でも呼び出すことができます。

2. ラムダ式とは?名前のない関数

2. ラムダ式とは?名前のない関数
2. ラムダ式とは?名前のない関数

次に、Kotlinの「ラムダ式(Lambda Expression)」を見てみましょう。ラムダ式は、名前をつけずにその場で関数のような処理を書くための書き方です。

たとえば、次のように書きます。


val greet = { println("こんにちは!") }
greet()

ここではval greetにラムダ式を代入しています。{ println("こんにちは!") }がラムダ式です。

ラムダ式は、使いたい場所にパッと書いて渡すことができるので、コードを短くスッキリ書きたいときに便利です。

3. 引数ありのラムダ式と通常関数の比較

3. 引数ありのラムダ式と通常関数の比較
3. 引数ありのラムダ式と通常関数の比較

次に、引数(ひきすう)を使った例で、ラムダ式と通常関数の違いを比べてみましょう。

まずは通常の関数です。


fun add(a: Int, b: Int): Int {
    return a + b
}
println(add(3, 5))

同じ処理をラムダ式で書くと、次のようになります。


val add = { a: Int, b: Int -> a + b }
println(add(3, 5))

この->の左側が引数、右側が処理です。書き方は違いますが、やっていることは同じですね。

4. ラムダ式と通常関数の使い分けポイント

4. ラムダ式と通常関数の使い分けポイント
4. ラムダ式と通常関数の使い分けポイント

では、どんなときにラムダ式を使い、どんなときに通常関数を使うべきなのでしょうか?

● 通常関数を使うのに向いている場面

  • 何度も使いたい処理をまとめたいとき
  • 処理が長くて、読みやすさを重視したいとき
  • 名前をつけて意味をわかりやすくしたいとき

例えば「商品の価格を計算する」「ログイン処理を行う」など、意味がはっきりしていて再利用する場合は、通常関数が向いています。

● ラムダ式を使うのに向いている場面

  • 一時的に使う簡単な処理を渡したいとき
  • 処理の内容を他の関数に引数として渡したいとき
  • コードを短くスッキリ書きたいとき

特に「リストの並び替え」や「フィルター処理」など、データに対して一時的な操作をする場面でよく使われます。

5. 実例:ラムダ式を使ってリストを操作する

5. 実例:ラムダ式を使ってリストを操作する
5. 実例:ラムダ式を使ってリストを操作する

Kotlinでは、filtermapなどの関数にラムダ式を渡すことで、リスト(複数のデータ)を簡単に操作できます。

次の例は、偶数だけを取り出すコードです。


val numbers = listOf(1, 2, 3, 4, 5, 6)
val even = numbers.filter { it % 2 == 0 }
println(even)

filterにラムダ式{ it % 2 == 0 }を渡すことで、条件に合うものだけを取り出せます。

6. ラムダ式が使えない場面と注意点

6. ラムダ式が使えない場面と注意点
6. ラムダ式が使えない場面と注意点

便利なラムダ式ですが、すべての場面で使えるわけではありません。次のような注意点があります。

  • 複雑な処理を書くと読みづらくなる
  • 再利用しにくい(使い回しにくい)
  • 特定の関数の外では使いにくい

たとえば、長い処理や分岐がある処理をラムダ式で書くと、コードがゴチャゴチャして見にくくなることがあります。その場合は、通常の関数に切り出したほうがわかりやすいです。

7. 初心者におすすめの使い分け方法

7. 初心者におすすめの使い分け方法
7. 初心者におすすめの使い分け方法

最後に、プログラミング初心者の方が迷ったときの使い分けルールを紹介します。

  • 最初はすべて通常関数で書くのが安心
  • リスト操作や一時的な処理でラムダ式を使ってみる
  • コードを短くしたいときにだけラムダ式を使う

慣れてきたら、少しずつラムダ式を取り入れるといいでしょう。いきなりすべてラムダ式で書こうとすると混乱してしまうので、まずは通常の関数で確実に書けるようになるのが大切です。

関連記事:
カテゴリの一覧へ
新着記事
New1
Kotlin
Kotlinの構文ルールまとめ!インデント・セミコロンなど初心者が最初に覚えるべきポイント
New2
Kotlin
Kotlinの関数ドキュメンテーションコメント(KDoc)の書き方を徹底解説!初心者でもわかる丁寧なガイド
New3
Kotlin
KotlinでHello Worldを表示するには?最初の1行を実行してみよう
New4
Go言語
Go言語の依存関係管理を始めよう!go modの基本設定と導入手順
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語の関数パラメータ!値渡しと参照渡しの違いを理解しよう
No.2
Java&Spring記事人気No2
Kotlin
KotlinのAPI通信でGETリクエストを送る方法!初心者向け徹底ガイド
No.3
Java&Spring記事人気No3
Go言語
Go言語のテストでタイムアウト・並行処理を扱うポイント
No.4
Java&Spring記事人気No4
Swift
SwiftのURLSessionでのネットワークエラー対策!再試行とタイムアウトを初心者向けに解説
No.5
Java&Spring記事人気No5
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.6
Java&Spring記事人気No6
Go言語
Go言語のWebアプリにおけるセキュリティベストプラクティス集
No.7
Java&Spring記事人気No7
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.8
Java&Spring記事人気No8
Swift
Swift JSONデコード失敗の原因と対処|DecodingError徹底解説