集合型とは
- 複数のデータをひとまとめにして扱うコレクション型の一種です。
- 集合の要素はすべて異なる値でなくてはいけません。
- 要素には順序はありません。
集合型を使うポイント
- 順序が必要ない場合
- 同一の要素を扱う必要がない場合
- 共通の要素を調べたりする必要がある場合
集合型の型名
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)で[“山田”,”鈴木”,”田中”]が表示されます。
- 順番は毎回変更されます。