Swiftのコレクション型(Collection Types)

コレクション型

3つのコレクション型:Array, Set, Dictionary

コレクション型(Collection Types)は、

指定された型を持った複数の値をまとめて格納できる箱

のようなものです。Swiftでは3つのコレクション型が用意されています。

要素の順序 要素の重複
Array
Set
Dictionary key:☓、value:○

要素というのは、コレクション型に収まる値のことです。

  • 要素の順序:○の場合、要素を追加した際の順序が保存されます。
  • 要素の重複:○の場合、重複した要素を格納することができます。☓の場合、重複した要素(値)を持つことはできません。

Array, Set, Dictionaryの簡単な使用例

具体的に見た方が分かりやすいので、以下に簡単なサンプルプログラムを載せます。

// Array
var arraySample: [Int] = [1, 3, 2]
arraySample.append(2) // 最後尾に2を追加。要素は重複可能
// Set
var setSample: Set = [1, 2, 3]
setSample.insert(2) // 2は新たに追加されない(重複なし)
// Dictionary
var dictionarySample: [String: Int] = ["three": 3, "two": 2, "one": 1]
dictionarySample["three"] = 4 // 重複したkey(ここではthree)を持てないので、threeに付随する3が4に変わる

ArrayとSetの大きな違いは「Setが要素の重複を許さない」ということです。また、Dictionaryは他の2つとはちょっと違い、key-value対で要素を指定します。

上で初期化したコレクション型の各要素を表示してみましょう。

//結果
for item in arraySample {
  print(item, terminator:" ")
} // "1, 3, 2, 2"と表示。要素の順序は保存。
print("\n")
for item in setSample {
  print(item, terminator:" ")
} // "2, 3, 1"と表示
print("\n")
for item in dictionarySample {
  print(item, terminator:" ")
} // "("three", 4) ("one", 1) ("two", 2)"と表示

なんとなく、それぞれのコレクション型の違いが分かったでしょうか?コレクション型の詳細は、上記のテーブルにある各項目のリンク(または下記のリンク)にありますので、参考にして下さい。

Swiftの配列(Arrays)
配列(Arrays)です。プログラミングではお馴染みの、同じ型のデータを系統的に処理したい場合に用いられる箱みたいなものです。使いこなせると...
Swiftの集合(Sets)
Setsというコレクション型です。こいつは重複を許さないので、そういう値をグループ化する時には使えそうです(例えば、国の名前とか)。Sets...
Swiftの辞書(Dictionaries)
辞書コレクション型(Dictionaries)は連想配列の一つで、要素を指定するkeyと要素自体(値)valueを一組としたコレクション型で...