libro
www.tuyano.com
初心者のためのSwiftプログラミング入門

配列と辞書 (4/5)

作成:2014-09-20 21:04
更新:2014-09-20 21:04

■辞書(Dictionary)について

配列は、単に値を順番に並べて管理するだけで、保管する値は数字で指定し取り出しました。が、数字ではわかりにくい、名前をつけて管理できたほうがいい、というような場合もあります。

そんな場合に用いられるのが「辞書(Dictionary)」です。辞書は、「キー」と呼ばれる値を使って管理します。それぞれの値には、インデックス番号の代わりにキーが付けられており、キーを指定して値を取り出したり変更したりするのです。


●辞書の作成
var 変数 : [タイプ : タイプ] = [タイプ : タイプ]()
var 変数 : [タイプ : タイプ] = [キー1:値1 , キー2:値2 , ……]

●値へのアクセス
変数 = 辞書 [キー]
辞書 [キー] = 値

●for-inによる繰り返し処理
for (変数1 , 変数2) in 辞書 {
    ……繰り返し処理……
}

辞書は、[]で2つのタイプを指定します。これは、キーと値のタイプを指定します。例えば、StringのキーでInt型の値を保管するならば、[String:Int]というように指定をします。そのまま、[String:Int]()を変数に代入すれば、値が何もない空の辞書が作成されます。

辞書は配列と異なり、最初に決まった数の保管場所を用意する必要はありません。キーを指定して値を保管すれば、そのキーが辞書に追加されます(既に同じキーがあれば、その値が変更されます)。

for-inは、配列と微妙に使い方が異なります。for の後に、(変数1, 変数2)というようにタプルで変数を用意します。これにより、辞書から取り出した要素のキーと値をそれぞれの変数に代入します。

下に、実際の利用例を挙げておきましょう。3教科の点数を辞書にまとめ、そこから要素を取り出して合計を計算しています。実行すると、値を取り出すごとに"add 〇〇"とキーが出力され、最後に合計が表示されます。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

let data:[String:Int] = ["国語":98,"数学":76,"英語":54]
var total = 0
for (key, val) in data {
    total += val
    println("add \(key)")
}
println("Total: \(total)")

※関連コンテンツ

「初心者のためのSwiftプログラミング入門」に戻る