見出し画像

Swiftでいこう! - 辞書 Dictionary

Collection Typesの一つです。配列ですね。

keyとvalueのセットで配列を作るのが辞書となります。

[key1 : value1, key2 : value2]

な感じです。

実際にカラの辞書を作ります。

var dic = [String:Int]()
var dic:[String:Int] = [:]

var dic = Dictionary<String,Int>()
var dic:Dictionary<String,Int> = [:]

作った辞書にデータを入れます。

dic["taro"] = 15
print(dic)

とすると、

["taro": 15]

と辞書にデータ」が入ってることが確認できます。

dic[2] = "taro"
dic[15] = "hana"

dic.count   // 2

変更です。forKey: 2でkeyを指定してvalueを変更します。"2"の対を"jiro"としまた。

let oldValue = dic.updateValue("jiro", forKey: 2)

こうすると古い値がold Valueが取得できます。

if let name = dic[2] {
   print("The name is \(name).")
} else {
   print("That name is not in the dictionary.")
}

if let文でoptional valueが受け取れ、真偽判定できます。該当のvalueがなければnilを返します。

optional valueを設定してやるとvalueが削除されます。

dic[2] = nil

とすると、

dicは"dic[2]"が取り除かれて、[15: "hana"]のみとなります。

他の方法としては

if let removedValue = dic.removeValue(forKey: 2){
  print("\(removedValue)")
}

とすればできます。次は、keyとvalueを同時に取り出してみます。

for (key,value) in dic{
   print("\(key) and \(value)")
}
2 and jiro
15 and hana

と出力されました。それでは一つだけ、keyだけとか

for samlple in dic.keys{
   print(samlple)
}

valueだけとか

for samlple in dic.values{
   print(samlple)
}

を実施すると値が取れます。

辞書から配列にするには

let samples = [Int](dic.keys)  

とするとkeyだけの配列へと変換してくれます。

[15, 2]

という風に出力されます。以上ざっと"辞書"を調べました。

いいなと思ったら応援しよう!