カテゴリ: Kotlin 更新日: 2026/03/07

Kotlinの可変セット(MutableSet)の作り方と使い方をやさしく解説!初心者でも安心の重複なしデータ管理

Kotlinの可変セット(MutableSet)の作り方と使い方
Kotlinの可変セット(MutableSet)の作り方と使い方

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

生徒

「Kotlinで、同じデータが入らないようにして、あとから追加したり削除したりしたいです!」

先生

「それなら『可変セット(MutableSet)』を使うといいですよ。データの重複を自動で防ぎながら、追加や削除もできます。」

生徒

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

先生

「もちろんです。KotlinのMutableSetはとてもシンプルで、パソコン初心者でも簡単に使えますよ。これからやさしく説明しますね!」

1. 可変セット(MutableSet)とは?初心者向けにわかりやすく解説

1. 可変セット(MutableSet)とは?初心者向けにわかりやすく解説
1. 可変セット(MutableSet)とは?初心者向けにわかりやすく解説

Kotlin(ことりん)では、たくさんのデータを整理して保管するための「箱」のような仕組みをコレクションと呼びます。その中でも、特にユニークな特徴を持つのがMutableSet(可変セット)です。

MutableSetを一言でいうと、「重複を絶対に許さない、中身を自由に入れ替えられる魔法の袋」です。具体的には、以下の3つの大きなポイントがあります。

  • データの重複を自動でシャットアウト: 同じデータを2回入れようとしても、2回目は無視されます。
  • 後から中身を変更できる: プログラムの途中で、新しいデータを足したり、不要なデータを捨てたりできます。
  • 順番を固定しない: 基本的に、データを入れた順番を厳密に守るよりも「何が入っているか」を重視します。

例えば、あなたが「文化祭のスタンプラリー」を管理するアプリを作っていると想像してみてください。同じ人が何度スタンプを押しても、カウントは「1回」だけにしたいですよね。そんな時に、このMutableSetが自動で重複をチェックしてくれるので、非常に便利です。

イメージしてみよう:
「リスト(List)」は、出席番号順に並んだ名簿のようなもの。同じ名前が何度出てきてもOKです。
「セット(Set)」は、カゴの中に入れたボールのようなもの。同じ色のボールは1つしか入れられないルールがある、と考えるとわかりやすいですよ!

それでは、実際にどのように動くのか、簡単なプログラムでイメージを掴んでみましょう。


fun main() {
    // 1. 重複を許さない「お買い物リスト」を作ってみる
    // 「りんご」を2回書いても、セットは賢いので1つにまとめてくれます
    val shoppingSet = mutableSetOf("りんご", "バナナ", "りんご")
    
    // 画面に表示すると、りんごは1つしか出てきません
    println("現在のカゴの中身: $shoppingSet")
}

現在のカゴの中身: [りんご, バナナ]

このように、プログラミング未経験の方でも、データの重複を気にせずにどんどん追加できるのがMutableSetの強みです。難しいロジックを書かなくても、Kotlin側で「これ、もう入ってるよ!」と判断してくれるので、ミスが少ない安全なプログラムを書くことができます。

2. KotlinでMutableSetを作る基本の書き方

2. KotlinでMutableSetを作る基本の書き方
2. KotlinでMutableSetを作る基本の書き方

Kotlinで中身を自由に書き換えられる箱(コレクション)を作りたいときは、mutableSetOfという魔法の言葉を使います。Set(セット)の最大の特徴は、「同じものを重複して持てない」という点です。例えば、買い物リストを作る際に同じものを二度書かないように自動で整理してくれるイメージです。

まずは、プログラミングが初めての方でも分かりやすい「好きな果物リスト」を例に、基本的な書き方を見てみましょう。


fun main() {
    // 1. MutableSet(中身を変更できるセット)を作成する
    val fruits = mutableSetOf("りんご", "バナナ", "みかん")

    // 2. 同じ「りんご」をもう一度追加しようとしてみる
    fruits.add("りんご")

    // 3. 結果を表示する(重複した「りんご」は無視されます)
    println(fruits)
}

[りんご, バナナ, みかん]

上記のコードでは、mutableSetOf()を使って「りんご・バナナ・みかん」が入った可変セットを作成しました。途中で「りんご」をもう一度追加する命令(add)を書いていますが、実行結果を見ると「りんご」は1つしか表示されません。これがSetの便利な仕組みです。

このように、「順番は気にしないけれど、中身の重複は絶対に避けたい」という場面で、このMutableSetは非常に強力な味方になってくれます。

3. データを追加してみよう

3. データを追加してみよう
3. データを追加してみよう

MutableSetにはadd()というメソッドを使ってデータを追加できます。ただし、すでにあるデータと同じものを入れようとしても、セットには入りません。


fun main() {
    val colors = mutableSetOf("赤", "青")
    colors.add("緑")
    colors.add("赤") // 「赤」はすでにあるので追加されない
    println(colors)
}

[赤, 青, 緑]

「赤」を2回追加しようとしていますが、セットは重複を許さないため、1回目だけが反映されます。

4. データを削除してみよう

4. データを削除してみよう
4. データを削除してみよう

不要になったデータは、remove()メソッドで削除できます。削除しても、残りのデータはそのままです。


fun main() {
    val animals = mutableSetOf("いぬ", "ねこ", "うさぎ")
    animals.remove("ねこ")
    println(animals)
}

[いぬ, うさぎ]

remove()の中に消したいデータを書くだけで、かんたんに削除できます。

5. MutableSetの活用例:イベントの出席管理

5. MutableSetの活用例:イベントの出席管理
5. MutableSetの活用例:イベントの出席管理

同じ人を何度もカウントしたくないとき、MutableSetがとても便利です。イベントの出席者リストなどに使えます。


fun main() {
    val attendees = mutableSetOf<String>()
    attendees.add("たろう")
    attendees.add("はなこ")
    attendees.add("たろう") // 同じ人は2回カウントされない

    println("出席者:")
    for (name in attendees) {
        println("- $name")
    }
}

出席者:
- たろう
- はなこ

このように、MutableSetを使うと「同じ人が何度も追加されて困る」問題を解決できます。

6. データの存在を確認する方法

6. データの存在を確認する方法
6. データの存在を確認する方法

contains()メソッドを使えば、あるデータがセットに含まれているかを確認できます。


fun main() {
    val foods = mutableSetOf("ラーメン", "カレー", "うどん")

    if (foods.contains("カレー")) {
        println("カレーはリストにあります!")
    } else {
        println("カレーはリストにありません。")
    }
}

カレーはリストにあります!

探したいデータが入っているかを調べられるのも、MutableSetの便利な使い方のひとつです。

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

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

※ Amazon広告リンク

7. MutableSetをクリアする(全削除)

7. MutableSetをクリアする(全削除)
7. MutableSetをクリアする(全削除)

セットの中身をすべて消したいときは、clear()メソッドを使います。


fun main() {
    val items = mutableSetOf("A", "B", "C")
    items.clear()
    println(items)
}

[]

このように、中身を一気にリセットできるので、初期化したいときなどにも使えます。

関連セミナーのご案内

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

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

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

具体的な体験内容と環境

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

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

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

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

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

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

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

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

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

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

セミナー画像

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

カテゴリの一覧へ
新着記事
New1
Go言語
Go言語のwhile的なforループの使い方!条件式ループの基本を解説
New2
Go言語
Go言語プログラムの実行方法まとめ!VSCode・ターミナルでの実行手順を解説
New3
Swift
Swift意味とは?プログラミング言語・金融・鳥の違いを徹底解説
New4
Swift
Swift 戻り値の扱い方と複数戻り値の返し方|初心者でも分かる関数の基本
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語でリダイレクト処理を行う方法(http.Redirect)を初心者向けに解説
No.2
Java&Spring記事人気No2
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.3
Java&Spring記事人気No3
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.4
Java&Spring記事人気No4
Go言語
Go言語のgo.modファイル完全ガイド!初心者でもわかる仕組みと書き方
No.5
Java&Spring記事人気No5
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.6
Java&Spring記事人気No6
Go言語
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.7
Java&Spring記事人気No7
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.8
Java&Spring記事人気No8
Go言語
Go言語でミドルウェアを作成する方法と活用例!初心者でもわかるWebアプリ開発