Kotlinの可変セット(MutableSet)の作り方と使い方をやさしく解説!初心者でも安心の重複なしデータ管理
生徒
「Kotlinで、同じデータが入らないようにして、あとから追加したり削除したりしたいです!」
先生
「それなら『可変セット(MutableSet)』を使うといいですよ。データの重複を自動で防ぎながら、追加や削除もできます。」
生徒
「可変セットって、初心者でも使えますか?どうやって使うんですか?」
先生
「もちろんです。KotlinのMutableSetはとてもシンプルで、パソコン初心者でも簡単に使えますよ。これからやさしく説明しますね!」
1. 可変セット(MutableSet)とは?
Kotlin(ことりん)では、「リスト」や「セット」といったコレクションを使って、複数のデータをまとめて管理することができます。
その中でもMutableSet(可変セット)は、以下のような特徴があります:
- 同じデータ(重複)を入れられない
- あとからデータを追加・削除できる
たとえば、イベントの参加者名簿や、1度だけ数える必要があるデータの管理にぴったりです。
2. KotlinでMutableSetを作る基本の書き方
まずは、Kotlinで可変セット(MutableSet)を作ってみましょう。以下のコードでは、果物の名前をセットに入れて表示します。
fun main() {
val fruits = mutableSetOf("りんご", "バナナ", "みかん")
println(fruits)
}
[りんご, バナナ, みかん]
mutableSetOf()を使うことで、可変のセットが作れます。ここに入れたデータは、自動的に重複が除かれます。
3. データを追加してみよう
MutableSetにはadd()というメソッドを使ってデータを追加できます。ただし、すでにあるデータと同じものを入れようとしても、セットには入りません。
fun main() {
val colors = mutableSetOf("赤", "青")
colors.add("緑")
colors.add("赤") // 「赤」はすでにあるので追加されない
println(colors)
}
[赤, 青, 緑]
「赤」を2回追加しようとしていますが、セットは重複を許さないため、1回目だけが反映されます。
4. データを削除してみよう
不要になったデータは、remove()メソッドで削除できます。削除しても、残りのデータはそのままです。
fun main() {
val animals = mutableSetOf("いぬ", "ねこ", "うさぎ")
animals.remove("ねこ")
println(animals)
}
[いぬ, うさぎ]
remove()の中に消したいデータを書くだけで、かんたんに削除できます。
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. データの存在を確認する方法
contains()メソッドを使えば、あるデータがセットに含まれているかを確認できます。
fun main() {
val foods = mutableSetOf("ラーメン", "カレー", "うどん")
if (foods.contains("カレー")) {
println("カレーはリストにあります!")
} else {
println("カレーはリストにありません。")
}
}
カレーはリストにあります!
探したいデータが入っているかを調べられるのも、MutableSetの便利な使い方のひとつです。
7. MutableSetをクリアする(全削除)
セットの中身をすべて消したいときは、clear()メソッドを使います。
fun main() {
val items = mutableSetOf("A", "B", "C")
items.clear()
println(items)
}
[]
このように、中身を一気にリセットできるので、初期化したいときなどにも使えます。