Swift言語: 配列・辞書
概要
Swift 2.0の配列・辞書まとめ
配列
初期化
型付き変数を宣言するパターンと、代入する値に型を宣言する方法がある。
// 代入する値に型を宣言 // 暗黙のデータ型宣言 var todos = ["ジョギングをする", "掃除をする", "予習をする"] var array2 = [String]() // 型付き変数を宣言 var array: [String] = [];
配列の数と値を宣言
var array3 = [String](count: 10, repeatedValue: "")
要素へのアクセス
// indexを指定して要素にアクセスする。 // 配列の値には変更なし todos[0] // 最後の要素を配列から取り出す。 // 配列の数は1減る let todo = todos.popLast()
繰り返し構文(for)を使ってデータにアクセスする。
// for-in構文 for task in todos { print(task) } for index in 0..<todos.count { print(todos[index]) } for var i = 0; i < todos.count; i++ { print(todos[i]) } // 出力結果 ジョギングをする 掃除をする 予習をする
要素の追加
末尾に要素を追加する
todos.append("昼寝をする") // +演算子で配列を追加できる。 todos += ["ご飯を食べる"]
要素の削除
// index指定 todos.removeAtIndex(0) // 全削除 todos.removeAll()
コピー
var todos2 = todos todos.append("仕事を探す") // todo2には要素"仕事を探す"は追加されない。
多次元配列
配列に配列が入っている。
var array33 = String(count: 3, repeatedValue: [String](count: 3, repeatedValue: "")) array33[0][0] = "a" array33[0][1] = "b" array33[0][2] = "c" array33 // 配列["a, "b,", "c"]が取得出来る。 array33[0]
辞書
(キー、バリュー)の組を持つ。
初期化
var numberOfTires = ["車": 4, "バイク": 2, "船": 0] var numberOfTires: Dictionary= [:] var numberOfTires = Dictionary () var numberOfTires = [String: Int]()
要素の追加
numberOfTires["車"] = 4;
要素の削除
numberOfTires["車"] = nil;
要素取得
// キー、バリューを同時に取得 for (key, value) in numberOfTires { print("\(key) -> \(value)") } // _を付けると変数にセットされない for (_, value) in numberOfTires { print(value) } // キーを取得 for key in numberOfTires.keys { print(key) } // バリューを取得 for value in numberOfTires.values { print(value) }
辞書のコピー
参照のコピーではないので、一方で修正した内容は反映されない。var numberOfTires2 = numberOfTires; printNumberOfTires(numberOfTires2) numberOfTires2["車"] = 6 print(numberOfTires["車"]) // 出力結果 4