カテゴリ: Kotlin 更新日: 2025/11/23

Kotlinの可変リスト(MutableList)の使い方と活用例をやさしく解説!初心者でも今日から使える

Kotlinの可変リスト(MutableList)の使い方と活用例
Kotlinの可変リスト(MutableList)の使い方と活用例

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

生徒

「Kotlinのリストって、あとから追加や削除はできるんですか?」

先生

「いい質問ですね!Kotlinでは、あとから要素を追加したり削除できる『可変リスト(MutableList)』という便利な仕組みがありますよ。」

生徒

「可変リストってどうやって使うんですか?初心者でも使えますか?」

先生

「もちろん!これからゆっくりと、Kotlinの可変リストの基本の使い方から実践的な活用例まで、初心者向けにやさしく説明しますね。」

1. 可変リスト(MutableList)とは?

1. 可変リスト(MutableList)とは?
1. 可変リスト(MutableList)とは?

Kotlin(ことりん)では、リストという「データの集まり」を扱う仕組みがあります。リストとは、たとえば「リンゴ・バナナ・みかん」のように、いくつかのものをまとめたものです。

このリストには2種類あります:

  • 不変リスト(List):あとから変更できない
  • 可変リスト(MutableList):あとから追加・削除・変更ができる

このページでは、あとから自由に中身を変えられる可変リスト(MutableList)の使い方にしぼって解説します。

2. 可変リストを作ってみよう

2. 可変リストを作ってみよう
2. 可変リストを作ってみよう

まずは、Kotlinで可変リストを作る基本の書き方を見てみましょう。以下のコードは、文字のリスト(リンゴ・バナナ・みかん)を作って、あとから新しい果物を追加する例です。


fun main() {
    val fruits = mutableListOf("りんご", "バナナ", "みかん")
    fruits.add("ぶどう")
    println(fruits)
}

このプログラムを実行すると、以下のように表示されます:


[りんご, バナナ, みかん, ぶどう]

mutableListOf()というのが、可変リストを作る関数です。そしてadd()メソッドで、あとからリストにアイテムを追加できます。

3. 可変リストのよく使う操作まとめ

3. 可変リストのよく使う操作まとめ
3. 可変リストのよく使う操作まとめ

可変リストは、追加だけでなく削除や変更もできます。ここでは代表的な操作を紹介します。

要素を追加する


val colors = mutableListOf("赤", "青")
colors.add("緑")

要素を削除する


colors.remove("赤")

特定の位置に追加する


colors.add(1, "黄")

特定の位置を変更する


colors[0] = "ピンク"

このように、KotlinのMutableListは、追加・削除・上書きなどがとても自由にできます。

4. for文と組み合わせて使う

4. for文と組み合わせて使う
4. for文と組み合わせて使う

可変リストを使って、順番に処理をしたいときは、for文と組み合わせることが多いです。以下は、名前のリストを1人ずつ表示する例です。


fun main() {
    val names = mutableListOf("たろう", "はなこ", "じろう")
    for (name in names) {
        println("こんにちは、$name さん")
    }
}

こんにちは、たろう さん
こんにちは、はなこ さん
こんにちは、じろう さん

リストに入っているアイテムをひとつずつ取り出して処理するとき、とても便利です。

5. 可変リストを活用した簡単なアプリ例

5. 可変リストを活用した簡単なアプリ例
5. 可変リストを活用した簡単なアプリ例

ここでは、買い物リストを使った簡単なミニアプリを作ってみます。ユーザーが追加したい商品をリストにどんどん追加するイメージです。


fun main() {
    val shoppingList = mutableListOf<String>()
    shoppingList.add("牛乳")
    shoppingList.add("パン")
    shoppingList.add("卵")
    
    println("買い物リスト:")
    for (item in shoppingList) {
        println("- $item")
    }
}

買い物リスト:
- 牛乳
- パン
- 卵

このように、実際の生活の中でも「まとめて管理したいもの」があれば、Kotlinの可変リストで整理できます。

6. 可変リストと条件分岐の組み合わせ

6. 可変リストと条件分岐の組み合わせ
6. 可変リストと条件分岐の組み合わせ

たとえば、特定の条件に合ったデータだけをリストに入れたいとき、if文などと組み合わせると、より実践的になります。


fun main() {
    val numbers = listOf(1, 2, 3, 4, 5, 6)
    val evenNumbers = mutableListOf<Int>()

    for (num in numbers) {
        if (num % 2 == 0) {
            evenNumbers.add(num)
        }
    }

    println("偶数だけのリスト: $evenNumbers")
}

偶数だけのリスト: [2, 4, 6]

このようにして、「必要なデータだけを抜き出して使う」ことも簡単にできます。

7. まとめて追加や削除する方法

7. まとめて追加や削除する方法
7. まとめて追加や削除する方法

たくさんのアイテムを一度にリストに追加したいときは、addAll()を使います。同じように、まとめて削除するときはremoveAll()を使います。

まとめて追加


val list1 = mutableListOf("A", "B")
val list2 = listOf("C", "D")
list1.addAll(list2)
println(list1)

[A, B, C, D]

まとめて削除


list1.removeAll(listOf("B", "D"))
println(list1)

[A, C]

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

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

※ Amazon広告リンク

まとめ

まとめ
まとめ

Kotlinの可変リスト(MutableList)は、あとから自由に追加や削除や変更ができる柔軟なデータ構造であり、日常的なデータ管理から本格的なアプリケーション開発まで幅広く活用できます。特に初心者がプログラミングを学ぶ際には、具体的なデータを扱いながら動的に変更できるリストを理解することで、変数や配列、ループ、条件分岐といった基本的な概念を効率よく習得できる重要な要素になります。今回学んだ内容を整理すると、「mutableListOf()で作れる」「addやremoveで中身を変えられる」「for文やif文と組み合わせて処理できる」「まとめて操作できる」など、実務や学習の現場で役立つ場面が多い特徴があります。 また、可変リストは単純にデータを保持するだけでなく、ユーザー入力に応じて内容が増減する買い物リストやタスク管理アプリなど、実際のアプリケーションモデルとしても利用しやすい点が魅力的です。特に、可変リストと条件分岐を組み合わせて特定条件に一致した値だけを抽出したり、必要なデータのみを別のリストに追加するなど、データ処理の基本を自然に体験しながら学ぶことができます。こうした操作はWeb開発やAndroidアプリ開発でも頻繁に登場するため、Kotlin学習者にとって基礎にして最重要ポイントといっても過言ではありません。 実際、可変リストは文字列や数値だけでなく、クラスやオブジェクトにも応用でき、設計次第でデータベースから取得した値を整形して画面表示用にまとめる処理などにも活用できます。特に複雑なデータを管理する際には、リスト操作の理解がそのまま開発効率や保守性の向上に直結します。また、mutableListOfで生成したリストを拡張関数やラムダ式と併用すれば、より表現力豊かなコードを書けるようになり、Kotlinらしい簡潔で読みやすいプログラムへと発展させられる点も覚えておくと良いでしょう。 以下では、今回学んだ内容を反映したサンプルとして、クラスを使った可変リスト管理の例を紹介します。可変リストの活用方法をさらに深めたい人は、データ型を拡張してアプリケーションに近い形で扱う練習を進めてみてください。

クラスと可変リストを組み合わせた応用例


data class Item(val name: String, var done: Boolean)

fun main() {
    val todoList = mutableListOf<Item>()
    todoList.add(Item("宿題", false))
    todoList.add(Item("掃除", false))
    todoList.add(Item("メール返信", true))

    println("やることリスト:")
    for (task in todoList) {
        val status = if (task.done) "完了" else "未完了"
        println("- ${task.name}:$status")
    }

    todoList.removeIf { it.done }
    println("未完了だけのリスト:$todoList")
}

このサンプルでは、可変リストにデータクラスを保存し、状態に応じて絞り込みを行っています。単純な文字列データのリストよりも実践的な構造となり、実際のアプリケーション設計に近づく練習になります。Kotlinを深く学ぶためには、このように可変リストと多様な構造を柔軟に組み合わせ、用途に応じたデータ管理方法を考えていく姿勢が重要です。そのためにも、まず今回の基本操作をしっかり理解し、実際に手を動かして経験を積み重ねていきましょう。

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

生徒

「MutableListって、ただ追加できるだけじゃなくて、条件で抽出したりオブジェクトを入れたりもできるんですね!」

先生

「その通りです。データクラスと組み合わせることで、よりアプリっぽい構造にできますよ。」

生徒

「今まで配列しか使ってなかったけど、これならタスク管理アプリとかも作れそうです!」

先生

「まさにそのためにMutableListは便利なんです。これからは必要に応じて不変リストと使い分けましょう。」

生徒

「はい!まずは今日のコードを自分でも書いて試してみます!」

関連セミナーのご案内

【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分

「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。

本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。

具体的な体験内容と環境

【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。

【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。

この60分で得られる3つの体験

1. 自分のパソコンが「開発基地」に

プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。

2. プログラミングの「仕組み」がスッキリ

「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。

3. 「読みやすい」から「直せる」へ

Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。

※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。

セミナー画像

Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験

カテゴリの一覧へ
新着記事
New1
Kotlin
Kotlinで依存関係管理を始めよう!Gradle/Mavenの基本設定と導入手順
New2
Kotlin
Kotlinのreturnラベルを完全解説!初心者でもわかるクロスラインreturnの基本
New3
Kotlin
Kotlinでファイルアクセスを安全に管理する方法を徹底解説 初心者でも理解できるファイル読み書きとセキュリティ対策
New4
Go言語
Go言語の構造体を使った設計パターン集(DTO・VOなど)
人気記事
No.1
Java&Spring記事人気No1
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.2
Java&Spring記事人気No2
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.3
Java&Spring記事人気No3
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.4
Java&Spring記事人気No4
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.5
Java&Spring記事人気No5
Kotlin
KotlinのRoomでコルーチン対応!suspend関数とFlowの使い方をやさしく解説
No.6
Java&Spring記事人気No6
Kotlin
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説
No.7
Java&Spring記事人気No7
Kotlin
Kotlinの文字列の部分取得!substring・take・dropの基本
No.8
Java&Spring記事人気No8
Go言語
Go言語のgo.modファイル完全ガイド!初心者でもわかる仕組みと書き方