カテゴリ: Kotlin 更新日: 2025/08/20

Kotlinのセット(Set)の基本!重複しないデータ管理のコツを初心者向けにやさしく解説

Kotlinのセット(Set)の基本!重複しないデータ管理のコツ
Kotlinのセット(Set)の基本!重複しないデータ管理のコツ

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

生徒

「Kotlinで同じデータが何回も入ってしまうのを防ぐ方法ってありますか?」

先生

「はい、それには『セット(Set)』という仕組みを使います。重複を自動でなくしてくれる便利なリストですよ。」

生徒

「へぇー!重複が自動で消えるってすごいですね。どうやって使うんですか?」

先生

「それではKotlinのSet(セット)について、基本から実践まで、初心者にもわかるように丁寧に説明していきましょう!」

1. Set(セット)とは?Kotlinの重複なしリスト

1. Set(セット)とは?Kotlinの重複なしリスト
1. Set(セット)とは?Kotlinの重複なしリスト

Kotlin(ことりん)でデータをたくさん扱うとき、「リスト」や「配列(はいれつ)」を使いますが、それらには同じデータが何回も入ってしまうことがあります。

たとえば、次のようなデータ:

  • りんご
  • バナナ
  • りんご

このように「りんご」が2回入ってしまっている状態を「重複(じゅうふく)」といいます。

Set(セット)は、この重複を自動でなくしてくれる仕組みです。つまり、「同じものがあったら1つにまとめる」リストです。

2. KotlinでSetを作ってみよう

2. KotlinでSetを作ってみよう
2. KotlinでSetを作ってみよう

では、Kotlinでセットを作る基本的な方法を見てみましょう。次のプログラムでは、同じ果物が何度も入っているリストから、重複をなくしたセットを作っています。


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

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

setOf()を使うと、重複したデータを自動的に1つにまとめてくれます。

3. SetとListの違いってなに?

3. SetとListの違いってなに?
3. SetとListの違いってなに?

ここで、SetListの違いを表でまとめておきます:

種類重複OK?順番はある?
List(リスト)OKある
Set(セット)NG(同じデータは1つだけ)なし

たとえば、出席者の名前リストなど、「同じ人を2回カウントしないようにしたい」ときにはSetがぴったりです。

4. MutableSet(可変セット)で後から追加する

4. MutableSet(可変セット)で後から追加する
4. MutableSet(可変セット)で後から追加する

通常のsetOf()は、あとから変更できない「不変セット」です。でも、あとからデータを追加したい場合もありますよね。

そんなときはmutableSetOf()を使って「可変セット(変更できるセット)」を作ります。


fun main() {
    val colors = mutableSetOf("赤", "青", "緑")
    colors.add("黄")
    colors.add("赤") // 重複した「赤」は追加されない
    println(colors)
}

[赤, 青, 緑, 黄]

このように、すでにあるものをもう一度追加しても、セットには入らないのが特徴です。

5. Setの使い道:出席リストのような場面に便利!

5. Setの使い道:出席リストのような場面に便利!
5. Setの使い道:出席リストのような場面に便利!

たとえば、イベントの参加者を管理したいとき、同じ名前を何度も記録しないようにするために、Setが活躍します。


fun main() {
    val attendees = mutableSetOf<String>()
    attendees.add("たろう")
    attendees.add("はなこ")
    attendees.add("たろう") // 同じ人をもう一度追加しようとしても無視される

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

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

このように、Setは「ユニークなデータ(重複しないデータ)」を管理したいときにとても役立ちます。

6. Setを使った簡単な検索と確認

6. Setを使った簡単な検索と確認
6. Setを使った簡単な検索と確認

Setには便利な関数があり、データが含まれているかどうかを調べるcontains()という関数があります。


fun main() {
    val fruits = setOf("りんご", "バナナ", "みかん")
    
    if (fruits.contains("バナナ")) {
        println("バナナはあります!")
    } else {
        println("バナナはありません")
    }
}

バナナはあります!

このように、データの中にあるかどうかを素早く調べられるのもSetの魅力です。

7. Setをリストに変換する方法

7. Setをリストに変換する方法
7. Setをリストに変換する方法

必要に応じて、SetListに変換したいときもあります。toList()という関数を使えば、簡単に変換できます。


fun main() {
    val set = setOf("A", "B", "C")
    val list = set.toList()
    println(list)
}

[A, B, C]

リストに変えることで、「順番どおりに並び替える」といった操作もできます。

カテゴリの一覧へ
新着記事
Go言語の構造体でインターフェースを実装する方法を初心者向けにやさしく解説!
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説
Go言語の文字列フォーマット!fmt.Sprintfで簡単に出力を整形する方法
Go言語のエラーと例外の違いを初心者向けに整理!わかりやすく解説
人気記事
No.1
Kotlin・Go・Swift記事の人気No1
Swiftのwhile文とrepeat while文を完全マスター!初心者にもわかる繰り返し処理の使い方と違い
No.2
Kotlin・Go・Swift記事の人気No2
Swift入門ガイド|基本構文と書き方をマスターしよう
No.3
Kotlin・Go・Swift記事の人気No3
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.4
Kotlin・Go・Swift記事の人気No4
Kotlinの正規表現(Regex)の使い方をやさしく解説!文字列操作の基本を初心者向けに学ぼう
No.5
Kotlin・Go・Swift記事の人気No5
Kotlinのコンパニオンオブジェクトとは?初心者向けに使い方と役割をわかりやすく解説!
No.6
Kotlin・Go・Swift記事の人気No6
Kotlinで画面を作る!レイアウトXMLとビューの基本操作をやさしく解説
No.7
Kotlin・Go・Swift記事の人気No7
Kotlinのwhen式を完全ガイド!初心者でもわかるパターンマッチング的な使い方
No.8
Kotlin・Go・Swift記事の人気No8
Kotlinのコーディング規約(公式スタイルガイド)とは?読みやすいコードを書くための基本ルール