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]
という風に出力されます。以上ざっと"辞書"を調べました。