0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【kotlin】Map型 コレクション

Last updated at Posted at 2021-06-20

■Map型

キーと値を紐づけて格納する。

//書き方
val map = mapOf("キー" to "値","キー" to "値")

■値へのアクセス

List型や配列などはインデックス番号を使って値にアクセスしていました。
Map型はインデックス番号の代わりに値にキーが決められているので
キーを使ってアクセスします。

//キーがtoの左です。
val map = mapOf("炎柱" to "煉獄さん", "水柱" to "富岡さん","蛇柱" to "伊黒さん")

println(map["炎柱"])
//結果: 煉獄さん

println(map["風柱"])
//結果: null

■全てのキーへのアクセス

▼keys

println(map.keys)
//結果: 炎柱,水柱,蛇柱

■全ての値へのアクセス

▼values

println(map.values)
//結果 : 煉獄さん,富岡さん,伊黒さん

■要素数

▼size

println(map.size)
//結果: 3

■MutableMap 可変可能

空のMutableMap()

//キーがString型で値がInt型
val a = mutableMapOf<String,Int>() 
//もう一つの書き方
val a: MutableMap<String,Int> = mutableMapOf() 

■MutableMapのさまざまな値の追加方法

▼インデックス番号のようにキーを設定、=の右に値を入れる。

a["孫悟空"] = 100 

▼put(キー,値)

a.put("ベジータ",200)

▼+=演算子を使用
キー to 値

a += "トランクス" to 400

結果

println(a)
// ["孫悟空" to 100, "ベジータ" to 200, "トランクス" to 400]

■複数のキーと値を追加

▼putAll
キーと値のペアを複数用意したlistOf()を入れる。

a.putAll(listOf("パン" to 500, "悟天" to 600))

▼+=演算子

a += mapOf("パン" to 500, "悟天" to 600)

■値の消去

どっちも同じ処理キーのみでも大丈夫

a.remove("孫悟空")
a.remove("孫悟空",100)

▼全て消去

a.clear()

■ループ処理

for文
▼引数
k = キー
v = 値

for((k,v) in a)  {
  println("${k}の給料は${v}円です。")
}

▼forEach

a.forEach{(k,v) -> printin("${k}の給料は${v}円です。")}

▼itに引数を置き換えるver
it.Key = キー
it.values = 値

a.forEach{println("${it.key}の給料は${it.values}円です。")}

■List型の中にMap型

空のList型の中に空のMap型

どちらも意味は同じ

//型指定を後に記述
val hoge = mutableListOf<MutableMap<String,String>>()

//型指定を最初に記述
val hoge: MutableList<MutableMap<String,String>> = mutableListOf()

▼値の追加
中身がMap型でも基本はList型なのでaddを使う。
中にMap型のコレクションを書く

変数に先にmap型を代入して変数を渡してもよい

hoge.add(mutableMapOf("いぬ","ねこ"))

▼値の消去
インデックス番号を使って消すのが楽そう
removeAt(インデックス番号)

hoge.removeAt(0)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?