カテゴリ: Kotlin 更新日: 2025/10/19

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

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

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

生徒

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

先生

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

生徒

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

先生

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

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

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

Kotlinで「コレクション」とは、複数のデータをまとめて扱う仕組みのことです。たとえば、listOfで作るリストや、mapOfで作るマップなどがあります。

リストは「数字や文字を順番に並べたもの」、マップは「キーワードと値をセットにしたもの」と考えるとわかりやすいです。

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

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

ラムダ式(ラムダ関数)は、名前のない関数です。必要な場面でサッと書けて、短くて読みやすいのが特徴です。

たとえば、数字を2倍にする処理をラムダ式で書くと、こうなります。


val double = { x: Int -> x * 2 }
println(double(5))  // 結果は10

このような短い処理を、リストの操作などに組み込むととても便利です。

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」という意味です。

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のコレクションとは、リストやマップなど、複数のデータをまとめて扱うための仕組みです。リストは順番に要素が並ぶ形式で、マップはキーと値のペアを保持します。たとえば、名前一覧はリスト、名前と電話番号の組み合わせはマップとして扱います。
カテゴリの一覧へ
新着記事
Go言語の関数でエラーハンドリングする基本的な方法
Go言語のスライス・マップ・配列をまとめて比較してみよう!初心者でもわかる使い分けの基本
Go言語の条件分岐の見やすい書き方を徹底解説!初心者でもわかるif文の使い方
Go言語とは何か?初心者向けに特徴・できること・インストール手順までやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.2
Java&Spring記事人気No2
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.3
Java&Spring記事人気No3
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.4
Java&Spring記事人気No4
Kotlinのデータクラス(data class)とは?便利な特徴と使い方を初心者向けにやさしく解説!