集合型

集合型とは
  • 複数のデータをひとまとめにして扱うコレクション型の一種です。
  • 集合の要素はすべて異なる値でなくてはいけません。
  • 要素には順序はありません。
引用:The Swift Programing Language

集合型を使うポイント

  • 順序が必要ない場合
  • 同一の要素を扱う必要がない場合
  • 共通の要素を調べたりする必要がある場合

集合型の型名

var 変数名: Set<要素の型名> = [値,値,値]

型名は省略できます(型推論)

var 変数名: Set = [値,値,値]

具体例

var name: Set<String> = ["佐藤","鈴木","山田"]
print(type(of: name))
print(name)
  • 集合型を宣言します。
  • print(type(of: name))でnameの型名を確認するとSet<String>と出力されます。
  • print(name)で[“鈴木”,”佐藤”,”山田”]と出力されます。集合型のため順番は毎回変わります。

集合型のイニシャライザ(空の集合をつくる)

var 変数名 = Set<型名>()
var 変数名: Set<型名> = []

具体例

var num = Set<Int>()
var boolSet:Set<Bool> = []
print(num)
print(boolSet)
  • numという名前の空の集合をつくります。
  • boolSetという名前の空の集合をつくります。
  • print(num)で[]が表示されます。
  • print(boolSet)で[]が表示されます。
注目

空の集合は[]で表されます。

集合型のメソッド

要素の追加・削除
  • 追加 insert(値)
  • 削除 remove(値) ※オプショナルで返ってくる
var name : Set<String> = []
print(name)
name.insert("佐藤")
name.insert("鈴木")
name.insert("山田")
name.insert("田中")
var deletename = name.remove("佐藤")
print(deletename!)
print(name)
  • 1行目で空の集合型を宣言します。
  • print(name)で[]が表示されます。
  • insertで佐藤、鈴木、山田、田中を追加します。
  • remove(“佐藤”)で佐藤を削除します。これはオプショナル型になります。
  • print(deletename!)で強制アンラップしました。
  • print(name)で[“山田”,”鈴木”,”田中”]が表示されます。
  • 順番は毎回変更されます。
集合型のプロパティ・メソッド集合型のプロパティ・メソッド