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

Kotlinのコレクションとは?リスト・セット・マップの基本を解説|初心者でもわかるデータのまとめ方

Kotlinのコレクションとは?リスト・セット・マップの基本を解説
Kotlinのコレクションとは?リスト・セット・マップの基本を解説

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

生徒

「Kotlinで、たくさんのデータをまとめて扱う方法ってありますか?」

先生

「はい、それにはコレクションと呼ばれる仕組みを使います。代表的なものにリスト、セット、マップがありますよ。」

生徒

「リストとかセットって、どう違うんですか? 難しそうです…」

先生

「大丈夫です。コレクションの基本を、ひとつずつ分かりやすく説明していきますね!」

1. コレクションとは?データを効率よく扱う「魔法の箱」

1. コレクションとは?データを効率よく扱う「魔法の箱」
1. コレクションとは?データを効率よく扱う「魔法の箱」

プログラミングをしていると、「クラス全員のテスト結果」や「スマートフォンの連絡先リスト」のように、関連性のあるたくさんのデータを扱いたい場面が必ず出てきます。

もしコレクションを使わずに10人分の名前を管理しようとすると、次のように1つずつ変数を作らなければなりません。


val name1 = "田中"
val name2 = "佐藤"
val name3 = "鈴木"
// ... 10人分書くのは大変!

これではコードが長くなり、後からデータを追加したり探したりするのも一苦労です。そこで登場するのがコレクションです。コレクションは、バラバラのデータを1つの「箱(入れ物)」にまとめて、一括で管理できる仕組みのことです。

Kotlinのコレクションには、用途に合わせて主に3つのタイプが用意されています。

  • List(リスト): 順番に並べて管理する(出席番号順の名簿など)
  • Set(セット): 重複を許さずに管理する(トランプのカードなど)
  • Map(マップ): 特定のキーワードと値をセットで管理する(辞書や電話帳など)

初心者の方は、まずは「複数のデータを1つの変数にまとめられる便利な箱なんだな」とイメージすることから始めましょう。それでは、それぞれの特徴を詳しく見ていきましょう。

2. List(リスト)とは?順番通りに管理

2. List(リスト)とは?順番通りに管理
2. List(リスト)とは?順番通りに管理

リストは順番を持ったデータの集まりです。たとえば、買い物リストのように「1番目はりんご、2番目はバナナ」と順番が決まっている場合に使います。


val fruits = listOf("りんご", "バナナ", "みかん")
println(fruits[0]) // りんご

listOf()でリストを作り、[0]のように数字を使ってアクセスします。数字は0から始まることに注意しましょう。

3. Set(セット)とは?重複なしの集まり

3. Set(セット)とは?重複なしの集まり
3. Set(セット)とは?重複なしの集まり

セットは重複を許さないデータの集まりです。同じ値を何度も入れても1つにまとめられます。たとえば、参加者の名前など「同じ人は1回だけカウント」したいときに使います。


val names = setOf("田中", "佐藤", "田中")
println(names) // 田中と佐藤だけ表示

[田中, 佐藤]

このように、自動的に重複を除いてくれるのがセットの特徴です。

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

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

※ Amazon広告リンク

4. Map(マップ)とは?キーと値のペア

4. Map(マップ)とは?キーと値のペア
4. Map(マップ)とは?キーと値のペア

マップは「名前(キー)」と「値」のペアを管理するコレクションです。たとえば、「Aさんの年齢は20歳、Bさんは30歳」など、対応関係を表すのに便利です。


val ages = mapOf("田中" to 20, "佐藤" to 30)
println(ages["佐藤"]) // 30

toという記法で「キー → 値」の関係を作れます。ages["佐藤"]のようにして、値を取り出せます。

5. リスト・セット・マップの違いを比較しよう

5. リスト・セット・マップの違いを比較しよう
5. リスト・セット・マップの違いを比較しよう
種類順番重複使い道
ListありOK順番が大切なとき(買い物リストなど)
SetなしNGユニークな値が必要なとき(IDなど)
Mapキー順キーはNG対応づけ(名前と年齢など)

6. Listの使い方いろいろ

6. Listの使い方いろいろ
6. Listの使い方いろいろ

リストは、繰り返し処理要素の追加にも使えます。以下はリストのループの例です。


val items = listOf("ペン", "ノート", "消しゴム")
for (item in items) {
    println(item)
}

ペン
ノート
消しゴム

for文を使って、すべての要素を1つずつ表示できます。

7. Mapの繰り返しも便利

7. Mapの繰り返しも便利
7. Mapの繰り返しも便利

マップも繰り返し処理に対応しています。キーと値をペアで取り出すことができます。


val scores = mapOf("英語" to 80, "数学" to 90)
for ((subject, score) in scores) {
    println("$subject の点数は $score 点です")
}

英語 の点数は 80 点です
数学 の点数は 90 点です

キーと値を同時に使いたいときには、とても便利な書き方です。

8. ミュータブルとイミュータブルの違い

8. ミュータブルとイミュータブルの違い
8. ミュータブルとイミュータブルの違い

Kotlinのコレクションには、変更できない(イミュータブル)ものと、変更できる(ミュータブル)ものがあります。

listOf()mapOf()はイミュータブルです。一度作ったあとに中身を変更できません。

変更したい場合はmutableListOf()mutableMapOf()を使いましょう。


val mutableNames = mutableListOf("田中", "佐藤")
mutableNames.add("鈴木")
println(mutableNames)

[田中, 佐藤, 鈴木]

アプリの設計に応じて、使い分けることが大切です。

関連記事:
カテゴリの一覧へ
新着記事
New1
Go言語
Go言語のORM(GORM)の基本と使い方を完全解説!初心者でもわかるデータベース操作
New2
Kotlin
Kotlinのセット(Set)の基本!重複しないデータ管理のコツを初心者向けにやさしく解説
New3
Kotlin
Kotlinのコレクションとは?リスト・セット・マップの基本を解説|初心者でもわかるデータのまとめ方
New4
Kotlin
Kotlinのクラス拡張を完全マスター!拡張関数と拡張プロパティの使い方を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語のDB接続とクローズ処理を完全解説!Open・Closeの基本を初心者向けにやさしく理解
No.2
Java&Spring記事人気No2
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.3
Java&Spring記事人気No3
Go言語
Go言語のクエリ実行を完全解説!Query・QueryRowの基本と使い分けを初心者向けにやさしく理解
No.4
Java&Spring記事人気No4
Kotlin
Kotlinのカバレッジ計測ツール入門|初心者向けJaCoCoの使い方をわかりやすく解説
No.5
Java&Spring記事人気No5
Kotlin
Kotlinのリポジトリパターンの基本と実装例!初心者にもわかる設計手法
No.6
Java&Spring記事人気No6
Go言語
Go言語のドライバ設定を完全解説!MySQL・PostgreSQLの接続手順を初心者向けにやさしく説明
No.7
Java&Spring記事人気No7
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.8
Java&Spring記事人気No8
Kotlin
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説

💻 作業効率アップに

ノートPCを縦置きしてデスクを広く。
省スペースで片づく定番スタンド

UGREEN 縦型スタンドをAmazonで見る

※ Amazon広告リンク