カテゴリ: Kotlin 更新日: 2026/02/04

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で可変セット(MutableSet)を作ってみましょう。以下のコードでは、果物の名前をセットに入れて表示します。


fun main() {
    val fruits = mutableSetOf("りんご", "バナナ", "みかん")
    println(fruits)
}

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

mutableSetOf()を使うことで、可変のセットが作れます。ここに入れたデータは、自動的に重複が除かれます。

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言語のレイヤードアーキテクチャの仕組みと実装例!初心者でもわかる階層設計ガイド
New2
Kotlin
Kotlinのwhen式の使い方!Javaのswitchに相当する書き方を解説
New3
Go言語
Go言語の条件分岐やループの設計パターン集!初心者向けまとめ
New4
Go言語
Go言語のdefer・panic・recoverを使って安全なコードを書こう!初心者にもわかりやすく解説
人気記事
No.1
Java&Spring記事人気No1
Kotlin
Kotlinのsettings.gradleファイルを完全解説!初心者でもわかるプロジェクト設定の基本
No.2
Java&Spring記事人気No2
Kotlin
KotlinのRoomで複雑なクエリを使いこなす!初心者でもわかる応用テクニック
No.3
Java&Spring記事人気No3
Swift
SwiftでAttributedStringとNSAttributedStringを使ったリッチテキスト表示の基本
No.4
Java&Spring記事人気No4
Go言語
Swiftの配列(Array)の使い方を完全ガイド!初心者でもわかるデータのまとめ方
No.5
Java&Spring記事人気No5
Go言語
Go言語のgo installコマンドの役割とインストール先の仕組みを徹底解説!
No.6
Java&Spring記事人気No6
Go言語
Go言語のインストール方法まとめ!Windows・Mac・Linux別に手順を丁寧に解説
No.7
Java&Spring記事人気No7
Go言語
Go言語のSQLインジェクション対策を完全解説!初心者でも安全なデータベース操作がわかる
No.8
Java&Spring記事人気No8
Go言語
Swiftの文字列操作を完全ガイド!初心者でもわかるStringの基本