Kotlinのマップ(Map)の基本!キーと値の管理をわかりやすく解説
生徒
「Kotlinで、名前と電話番号みたいに、ペアでデータを管理したいときってどうすればいいんですか?」
先生
「そんなときは、Kotlinの『マップ(Map)』を使います。キーと値をセットで保存できる便利な仕組みです。」
生徒
「キーと値ってなんですか?どういう風に使うんですか?」
先生
「では、KotlinのMapの基本的な使い方から、初心者にもわかるように丁寧に説明していきましょう!」
1. KotlinのMap(マップ)とは?|キーと値をペアで管理する仕組み
KotlinのMap(マップ)とは、特定の「キー(Key)」とそれに関連付けられた「値(Value)」をペアにして保存するデータ構造です。プログラミングの世界では「連想配列」や「辞書」とも呼ばれます。
例えば、「ユーザー名(キー)」と「メールアドレス(値)」、「商品コード(キー)」と「価格(値)」のように、何かをフックにして特定の情報を引き出したいときに非常に役立ちます。List(リスト)が番号順にデータを並べるのに対し、Mapは「ラベルを貼って管理する」というイメージです。
Mapを「ホテルのフロントにある鍵棚」と考えてみましょう。
- キー(Key): 部屋番号(例:301号室)
- 値(Value): その部屋の鍵
基本的なイメージをコードで見てみよう
まずは、一番シンプルなMapの形をコードで確認してみましょう。
fun main() {
// 「名前」をキーにして「年齢」を保存するMapの作成
val userAgeMap = mapOf("田中さん" to 25, "佐藤さん" to 32)
// 中身をまるごと表示
println(userAgeMap)
}
{田中さん=25, 佐藤さん=32}
このように、toというキーワードを使って「左側のデータから右側のデータを呼び出せる状態」にするのが、KotlinにおけるMapの役割です。一見難しそうに見えますが、「特定のキーワードで情報を検索しやすくするための整理棚」だと覚えておけば間違いありません。
2. KotlinでのMapの作り方と基本構文
プログラミングにおいて、特定のデータ(値)に名前(キー)を付けて管理できると非常に便利です。Kotlinでこの「名簿」のような仕組みを作るには、mapOf()という関数を使います。
まずは、初心者の方でもイメージしやすい「電話帳」を例にした基本の書き方を見てみましょう。
fun main() {
// mapOf(キー to 値) の形式でデータを並べます
val phoneBook = mapOf("たろう" to "090-1234-5678", "はなこ" to "080-8765-4321")
// 作成したMapの中身をすべて表示
println(phoneBook)
}
{たろう=090-1234-5678, はなこ=080-8765-4321}
書き方のポイントは、"たろう" to "090-1234-5678" のように、「キー(Key) to 値(Value)」という形式でペアを作ることです。このtoという直感的なキーワードのおかげで、どの名前がどの番号に紐付いているのか一目で理解できます。
また、このmapOf()で作られたMapは「読み取り専用(不変 / Immutable)」という性質を持っています。一度作成すると、後から中身を追加したり削除したりすることができないため、プログラムの途中でデータが勝手に書き換わってしまうミスを防げる安全な設計になっています。
「まずは基本の形を作って、中身を安全に参照したい」という場合に最適な、最もスタンダードな作成方法です。
3. 値を取り出すには?
Mapに登録した情報から、特定のキーに対応する値を取り出すには、以下のようにします。
fun main() {
val phoneBook = mapOf("たろう" to "090-1234-5678", "はなこ" to "080-8765-4321")
val taroPhone = phoneBook["たろう"]
println("たろうの電話番号:$taroPhone")
}
たろうの電話番号:090-1234-5678
[](角かっこ)でキーを指定するだけで、対応する値が取り出せます。
4. Mapのループ処理で全体を表示
Mapの中身をすべて表示したいときは、for文とentriesを使ってループ処理を行います。
fun main() {
val capitals = mapOf("東京" to "東京都", "大阪" to "大阪府", "名古屋" to "愛知県")
for ((city, prefecture) in capitals) {
println("$city の県庁所在地は $prefecture です")
}
}
東京 の県庁所在地は 東京都 です
大阪 の県庁所在地は 大阪府 です
名古屋 の県庁所在地は 愛知県 です
(キー, 値)の形で取り出せるので、とても読みやすく書けます。
5. MutableMapで追加・変更・削除する
Mapをあとから変更したい場合は、mutableMapOf()を使って可変のMap(MutableMap)を作ります。
追加・更新
fun main() {
val ages = mutableMapOf("たろう" to 20)
ages["はなこ"] = 22
ages["たろう"] = 21 // 上書き
println(ages)
}
{たろう=21, はなこ=22}
削除
ages.remove("たろう")
println(ages)
{はなこ=22}
キーを指定するだけで簡単に追加・変更・削除ができます。
Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。
基礎からわかるKotlinをAmazonで見る※ Amazon広告リンク
6. Mapの活用例:教科と点数の管理
たとえば、科目と点数のような関係もMapで表せます。以下は、生徒のテスト結果をMapで管理して表示する例です。
fun main() {
val scores = mutableMapOf("国語" to 80, "数学" to 90, "英語" to 70)
scores["理科"] = 85
println("テスト結果一覧:")
for ((subject, score) in scores) {
println("$subject:$score 点")
}
}
テスト結果一覧:
国語:80 点
数学:90 点
英語:70 点
理科:85 点
このように、1つのキーに1つの値をセットすることで、いろんな場面に活用できます。
【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分
「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。
本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。
具体的な体験内容と環境
【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。
【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。
この60分で得られる3つの体験
プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。
「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。
Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。
※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。
Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験