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

Kotlinの拡張関数で繰り返し処理を効率化!初心者でもわかるforEachやmapの活用例

Kotlinの繰り返し処理を効率化する拡張関数活用例
Kotlinの繰り返し処理を効率化する拡張関数活用例

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

生徒

「Kotlinで同じような処理を何回も書くのが面倒なんです。もっと効率よく書けないんですか?」

先生

「実はKotlinには『拡張関数』という便利な機能があって、繰り返し処理を短く・きれいに書けるんですよ。」

生徒

「拡張関数ってなんですか?難しそうな名前ですけど…」

先生

「名前はちょっと難しそうに聞こえますが、使い方はとてもシンプルです。さっそく見ていきましょう。」

1. 繰り返し処理ってなに?

1. 繰り返し処理ってなに?
1. 繰り返し処理ってなに?

繰り返し処理とは、リストなどのデータに対して「ひとつずつ処理を行うこと」です。Kotlinではfor文のほかに、forEachmapといった拡張関数を使うことで、コードを短く書くことができます。

2. 拡張関数とは?初心者にもわかりやすく

2. 拡張関数とは?初心者にもわかりやすく
2. 拡張関数とは?初心者にもわかりやすく

拡張関数とは、もともとあるクラス(例:リスト)に対して、自分であとから便利な機能を「追加」できるKotlinの特徴的な機能です。

たとえば、listOf()で作ったリストに対してforEachを呼び出すのは、実はリストに拡張された関数なんです。

3. forEachで繰り返し処理をシンプルに

3. forEachで繰り返し処理をシンプルに
3. forEachで繰り返し処理をシンプルに

forEachはリストなどの要素をひとつずつ取り出して処理します。これを使えばfor文よりも短く書けます。


fun main() {
    val names = listOf("太郎", "花子", "次郎")
    names.forEach {
        println("こんにちは、$it さん")
    }
}

こんにちは、太郎 さん
こんにちは、花子 さん
こんにちは、次郎 さん

このように、forEachを使うことで、コードがすっきりします。

4. mapを使って新しいリストを作る

4. mapを使って新しいリストを作る
4. mapを使って新しいリストを作る

mapは、元のリストの要素を変換して、新しいリストを作りたいときに使います。計算や文字列の加工に便利です。


fun main() {
    val numbers = listOf(1, 2, 3)
    val doubled = numbers.map { it * 2 }
    println(doubled)
}

[2, 4, 6]

このように、mapを使えば1つずつ手作業でリストを作る必要がなくなります。

5. filterで条件に合うデータだけを抽出

5. filterで条件に合うデータだけを抽出
5. filterで条件に合うデータだけを抽出

filterは、条件に合う要素だけを取り出す拡張関数です。たとえば「偶数だけほしい」などのときに使えます。


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

[2, 4]

複雑な条件でも、filterなら1行で書けて読みやすいですね。

6. 拡張関数の組み合わせで最強に

6. 拡張関数の組み合わせで最強に
6. 拡張関数の組み合わせで最強に

実はmapfilterは、組み合わせて使うことができます。


fun main() {
    val scores = listOf(40, 70, 90, 55)
    val result = scores
        .filter { it >= 60 }
        .map { "$it 点は合格です" }
    result.forEach { println(it) }
}

70 点は合格です
90 点は合格です

このように、filterで条件に合うデータを取り出し、mapで加工して、forEachで出力という流れが一気に書けます。

7. 拡張関数で繰り返し処理を効率化するメリット

7. 拡張関数で繰り返し処理を効率化するメリット
7. 拡張関数で繰り返し処理を効率化するメリット
  • コードが短くて見やすい
  • 複雑な処理も1行で書ける
  • 組み合わせることで、処理の流れが直感的になる

特に初心者のうちは、for文を何行も書いて混乱しがちです。拡張関数を使えば、「何をしたいか」がコードを読むだけで伝わりやすくなります。

8. Kotlinの拡張関数は日常にも役立つ

8. Kotlinの拡張関数は日常にも役立つ
8. Kotlinの拡張関数は日常にも役立つ

たとえば、買い物リストの金額を計算したり、名前を敬称付きで表示したり、試験の合格判定を行ったりと、日常生活に近い処理にも拡張関数はとても便利です。

覚えてしまえば、もうfor文に戻れない!という人も多いんですよ。

まとめ

まとめ
まとめ

Kotlinにおける拡張関数は、繰り返し処理やリスト操作を簡潔に書けるようにする非常に強力な機能です。今回の記事では、forEach、map、filterなどの拡張関数を中心に、初心者にもわかりやすい活用例を通して、コードを短く・読みやすく・効率的に書く方法を学びました。

特にforEachは、リスト内の要素を一つずつ処理する場面で活躍し、mapは各要素に処理を適用して新しいリストを作成するのに役立ちます。そしてfilterは、条件に合った要素だけを抽出するのに便利です。これらは単体でも便利ですが、組み合わせて使うことで「データの絞り込み」「加工」「出力」といった一連の処理を、シンプルかつ自然な流れで記述することが可能です。

実際の場面で考えてみましょう。たとえば、商品の価格一覧から1,000円以上のアイテムだけを選び、「〇〇円の商品です」と表示する処理も、Kotlinの拡張関数を使えば一行ずつ簡潔に書けます。以下にその例を示します。


fun main() {
    val prices = listOf(500, 1200, 800, 2000)
    prices
        .filter { it >= 1000 }
        .map { "$it 円の商品です" }
        .forEach { println(it) }
}

1200 円の商品です
2000 円の商品です

このようにKotlinの拡張関数を使うことで、繰り返し処理や条件分岐、データの加工といった操作を、直感的で読みやすいコードとして実現できます。これは、チーム開発やメンテナンスのしやすさにもつながるため、学習初期のうちから取り入れておくことをおすすめします。

また、拡張関数は「既存のクラスに自分で機能を追加する」ことも可能なので、今後カスタム拡張関数を作ることによって、さらにコードの再利用性と表現力を高めていけます。

KotlinのforEach、map、filterは、業務アプリや趣味のアプリ問わず活躍の場面が多く、リスト処理や繰り返し処理を学ぶ上での必須スキルともいえます。まずは基本的な使い方に慣れて、少しずつ応用へとステップアップしていきましょう。

Kotlinの書き方に慣れることで、コードを書く楽しさや効率の良さを実感できるようになります。繰り返し処理をうまく活用して、読みやすく・分かりやすく・バグの少ないコードを目指しましょう。

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

生徒

「KotlinのforEachやmap、filterって最初は難しそうに感じたけど、意外と簡単で便利ですね!」

先生

「そうですね。特に拡張関数を組み合わせると、リストの絞り込みや加工がすごくスマートになりますよね。」

生徒

「これまでfor文で同じような処理を何行も書いていたのがウソみたいです…もっと早く知っていればよかったです!」

先生

「大丈夫、気づいた今がベストタイミングです。拡張関数はKotlinらしい機能なので、これからもどんどん活用していきましょう!」

生徒

「次はカスタム拡張関数も挑戦してみたいです!」

先生

「いいですね。そうやって自分だけの便利な関数を作れるようになれば、Kotlinの楽しさがさらに広がりますよ。」

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

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

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

Kotlinの拡張関数とは何ですか?初心者でも簡単に使えるのですか?

拡張関数とは、既存のクラスにあとから便利な機能を追加できるKotlinの仕組みです。たとえばリストに対してforEachやmapを呼び出せるのは、拡張関数のおかげです。初心者でもシンプルに使えます。
カテゴリの一覧へ
新着記事
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)とは?便利な特徴と使い方を初心者向けにやさしく解説!