カテゴリ: Kotlin 更新日: 2026/01/29

Kotlinのコレクション操作にラムダ式を活用する方法を解説!初心者でも理解できる使い方の基本

Kotlinのコレクション操作にラムダ式を活用する方法
Kotlinのコレクション操作にラムダ式を活用する方法

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

生徒

「Kotlinでリストの中身を操作したり並び替えたりする方法ってありますか?」

先生

「Kotlinでは『コレクション操作』という考え方を使います。そして、そこで『ラムダ式』がとても役に立つんですよ。」

生徒

「ラムダ式って名前は聞いたことがあるけど、実はよく分かってません…」

先生

「心配いりません。これから、Kotlinのリストやマップなどのコレクションをラムダ式でかんたんに操作する方法を、一つひとつやさしく説明していきますね!」

1. コレクションとは?リストやマップのこと

1. コレクションとは?リストやマップのこと
1. コレクションとは?リストやマップのこと

「コレクション」は、複数の値をひとまとめにする入れ物の総称です。Kotlinでは代表的にリスト(List)マップ(Map)をよく使います。リストは順番付きの並び、マップは「キー→値」の対応表と考えるとイメージしやすいです。

リスト:順番に並んだデータ

listOfは読み取り専用、mutableListOfは追加や削除ができます。


fun main() {
    val fruits = listOf("apple", "banana", "cherry")   // 変更しないリスト
    println(fruits[0])  // インデックスで取り出す → apple

    val numbers = mutableListOf(1, 2, 3)               // 変更できるリスト
    numbers.add(4)                                      // 要素を追加
    println(numbers)    // → [1, 2, 3, 4]
}
マップ:キーと値のセット

mapOfは読み取り専用、mutableMapOfは後から値を入れ替えられます。


fun main() {
    val scores = mapOf("国語" to 90, "数学" to 80)     // 変更しないマップ
    println(scores["国語"])  // キーで取り出す → 90

    val price = mutableMapOf("apple" to 120)
    price["banana"] = 150                               // キーを追加
    println(price)      // → {apple=120, banana=150}
}

まずは「リスト=順番で取り出す」「マップ=名前(キー)で取り出す」を押さえれば十分です。このあと登場するラムダ式と組み合わせると、並び替えや絞り込みなどの操作がぐっと書きやすくなります。

2. ラムダ式とは?その場で使える小さな関数

2. ラムダ式とは?その場で使える小さな関数
2. ラムダ式とは?その場で使える小さな関数

ラムダ式(無名関数)は、その場でサッと書ける小さな関数のことです。関数名を用意せず、{ 引数 -> 処理 }という形で書きます。まずは「数字を2倍にする」最小例から見てみましょう。

基本形:引数と「→」と計算

左で受け取り、右で処理して結果を返します。型は書かなくても推論されます。


fun main() {
    val double = { x: Int -> x * 2 }   // x を2倍にして返す
    println(double(5))                 // → 10
}

10

->」は「x を受け取って、右側を実行する」という合図だと考えると分かりやすいです。

書き方のバリエーション

1つの引数ならitという省略名が使えます。引数が無い・複数ある場合も形だけ覚えればOK。


fun main() {
    // 1) it を使う(引数が1つのとき)
    val triple = { it: Int -> it * 3 }
    println(triple(4))                 // → 12

    // 2) 引数なし(現在時刻など、その場で計算して返す)
    val hello = { "Hello" }
    println(hello())                   // → Hello

    // 3) 引数が2つ
    val add = { a: Int, b: Int -> a + b }
    println(add(2, 3))                 // → 5
}

12
Hello
5

迷ったら「{ 引数 -> やりたい処理 }」。短い処理をコンパクトに書けるのが、ラムダ式のいちばんの魅力です。

ラムダ式は、変換・並び替え・絞り込みのような場面で威力を発揮します。まずは上の形を手に慣らしておくと、次の章からのコレクション操作もスムーズに読めるようになります。

3. filterを使って条件に合う要素を取り出す

3. filterを使って条件に合う要素を取り出す
3. filterを使って条件に合う要素を取り出す

ラムダ式を使えば、リストから特定の条件を満たすものだけを取り出すことができます。たとえば「偶数だけを取り出したい」ときはfilterを使います。


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

itは「リストの中の1つずつの要素」のことです。it % 2 == 0は、「偶数なら true」という意味です。

Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。

基礎からわかるKotlinをAmazonで見る

※ Amazon広告リンク

4. mapを使って要素を変換する

4. mapを使って要素を変換する
4. mapを使って要素を変換する

map関数を使うと、リストのすべての要素に同じ処理をして、新しいリストを作ることができます。


val prices = listOf(100, 200, 300)
val withTax = prices.map { it * 1.1 }
println(withTax)

ここでは、すべての金額に10%の税金を加えています。

5. sortedByで並び替える

5. sortedByで並び替える
5. sortedByで並び替える

sortedByは、リストを特定のルールで並び替えるときに使います。たとえば、文字の長さで並び替えるときは次のように書きます。


val names = listOf("Ken", "Satoshi", "Ai")
val sorted = names.sortedBy { it.length }
println(sorted)

it.lengthで「名前の文字数」を基準に並び替えています。

6. forEachで要素を1つずつ処理する

6. forEachで要素を1つずつ処理する
6. forEachで要素を1つずつ処理する

forEachは、リストの中身を順番に取り出して、1つずつ処理するときに使います。


val fruits = listOf("apple", "banana", "cherry")
fruits.forEach { println("好きな果物は $it です") }

このコードは、リストの中身を1つずつ画面に表示しています。

7. コレクション操作とラムダ式を組み合わせて使うポイント

7. コレクション操作とラムダ式を組み合わせて使うポイント
7. コレクション操作とラムダ式を組み合わせて使うポイント
  • filterは「条件に合うものだけ選ぶ」
  • mapは「全部に同じ変換をする」
  • sortedByは「並び順を指定する」
  • forEachは「1つずつ処理をする」

すべての操作で、ラムダ式を使って「どのように処理するか」を指定します。慣れてくると、短くて読みやすいコードがどんどん書けるようになります。

8. 初心者におすすめの書き方のコツ

8. 初心者におすすめの書き方のコツ
8. 初心者におすすめの書き方のコツ

はじめのうちは、ラムダ式の中でitを使うと何を指しているか分かりづらくなることがあります。そのときは、itを明示的に名前をつけて書くと分かりやすくなります。


val numbers = listOf(1, 2, 3, 4)
val doubled = numbers.map { number -> number * 2 }

こうすれば、「これはnumberという値を2倍してるんだな」とすぐに分かります。

まとめ

まとめ
まとめ

Kotlinのコレクション操作とラムダ式の組み合わせは、初心者にとっては最初こそ難しそうに見えるかもしれませんが、実際に使ってみるとその便利さと表現力の高さに驚くはずです。この記事では、Kotlinの代表的なコレクションであるリストとマップを対象に、filter・map・sortedBy・forEachといった代表的な関数の使い方を学びました。
コレクションとは、データの集まりをまとめて扱うための仕組みで、特にアプリ開発やデータ処理において頻繁に利用されます。そこに「ラムダ式」という、柔軟で直感的に記述できる無名関数を組み合わせることで、コードを簡潔に、そして読みやすく保つことができます
filterは条件に合う要素を取り出すときに、mapはすべての要素を変換するときに、sortedByは並び替え、forEachは繰り返し処理に使います。これらはどれも高階関数であり、ラムダ式を渡して処理を定義する形になっています。
特に初心者にとっては、「it」が何を意味しているのかが混乱の原因になることがありますが、itの代わりに名前付きの引数を使うことで可読性が大きく向上します。Kotlinではこうした柔軟な記述ができるため、開発現場でも非常に重宝される書き方です。

実用的なコレクション操作の組み合わせ例

ここでは、filterとmapを組み合わせた実践的なコード例を紹介します。


val scores = listOf(45, 82, 67, 90, 53)
val passed = scores.filter { it >= 60 }.map { "$it 点 合格" }

passed.forEach { println(it) }

このコードでは、「60点以上のスコアのみを抽出して、合格メッセージとして変換」する処理をラムダ式で実現しています。filterで条件を指定し、mapで要素の中身を変換し、forEachで表示するという、一連の流れがとても自然で理解しやすくなっています。

先生と生徒の振り返り会話

生徒

「Kotlinのラムダ式、最初はむずかしそうだったけど、コレクションの操作で使うと本当に便利なんですね!」

先生

「そうですね。特にfiltermapは、よく使う基本的な関数なので、ぜひ慣れておいてください。」

生徒

itがよくわからなかったけど、名前をつけて書くと分かりやすくなりました!」

先生

「それは素晴らしい気づきです。Kotlinは読みやすさも大事にされている言語なので、柔軟に書けるのが魅力なんですよ。」

生徒

「これからは、自分のアプリでもラムダ式を使ってコレクションをもっと効率よく操作してみたいです!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Kotlinのコレクションとは具体的にどんなものですか?リストやマップの違いも教えてください。

Kotlinのコレクションとは、リストやマップなど、複数のデータをまとめて扱うための仕組みです。リストは順番に要素が並ぶ形式で、マップはキーと値のペアを保持します。たとえば、名前一覧はリスト、名前と電話番号の組み合わせはマップとして扱います。

Kotlinのラムダ式ってなぜ使うんですか?初心者でも理解できますか?

ラムダ式は、その場で簡単に処理を書ける関数のようなもので、コードを短く分かりやすくするために使われます。Kotlinではコレクション操作と組み合わせると特に便利で、初心者でも少しずつ慣れていけば十分に理解できます。
関連記事:
カテゴリの一覧へ
新着記事
New1
Go言語
Go言語の短絡評価(ショートサーキット)を使った条件式の工夫をやさしく解説!初心者でも理解できる基本知識
New2
Go言語
Go言語の構造体の初期化パターンとコンストラクタ的関数の書き方を徹底解説!初心者でもわかる基本と実用例
New3
Kotlin
Kotlinの例外処理とキャンセルの連携を完全ガイド!初心者でもわかるCoroutineExceptionHandlerの使い方
New4
Go言語
Go言語のクロージャとは?関数内関数の活用例と仕組み
人気記事
No.1
Java&Spring記事人気No1
Kotlin
KotlinのChannelでデータをやり取りする方法を完全ガイド!初心者にもわかる非同期通信の基本
No.2
Java&Spring記事人気No2
Go言語
Go言語でのDB接続情報を環境変数で管理する方法|初心者でも安全に設定
No.3
Java&Spring記事人気No3
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.4
Java&Spring記事人気No4
Kotlin
Kotlinのビルド設定エラーと解決法まとめ!初心者向けGradleトラブル対処ガイド
No.5
Java&Spring記事人気No5
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.6
Java&Spring記事人気No6
Kotlin
Kotlinでテキスト表示・編集!初心者でもわかるTextViewとEditTextの使い方
No.7
Java&Spring記事人気No7
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.8
Java&Spring記事人気No8
Kotlin
Kotlin DSLとGroovy DSLの違いをやさしく解説!初心者でもわかるGradleスクリプトの使い分け

💻 作業効率アップに

ノートPCを縦置きしてデスクを広く。
省スペースで片づく定番スタンド

UGREEN 縦型スタンドをAmazonで見る

※ Amazon広告リンク