1、建立(Set)集合(無序不可重複)
(1)建立空集合
var a=Set<Int>() //[]
(2)建立集合
var a:Set=[1,2,3] //[2,3,1]
2、集合插入(insert)中間
var a:Set=[1,2,3] a.insert(4) //[2,4,3,1]
3、集合(remove)刪除
var a:Set=[1,2,3] a.remove(2) //[3,1]
4、集合(contains)是否有這個元素
var a:Set=[1,2,3] print(a.contains(2)) //true
5、把集合轉換(sorted)成陣列
var a:Set=[1,2,3] var b=a.sorted() //[1,2,3]
6、集合的特殊應用,子集,父集,交集,並集,補集,差集
(1)交集
let x:Set=[1,2,3] let y:Set=[3,4,5] let z=x.intersection(y) //[3]
(2)差集
var x:Set=[1,2,3] var y:Set=[3,4,5] x.subtract(y) //修改自身x,[2,1]
(3)並集
var x:Set=[1,2,3] var y:Set=[3,4,5] var z=x.union(y) //[3,4,1,5,2]
(4)補集
var x:Set=[1,2,3] var y:Set=[3,4,5] var z=x.symmetricDifference(y) //[5,2,4,1]
(5)判斷是否子集
var x:Set=[3,4,5] var y:Set=[3,4,5] var z=x.isSubset(of:y) //x是不是y的子集,true var q=x.isStrictSubset(of:y) //嚴格子集,false
(6)判斷是否是父集
var x:Set=[3,4,5] var y:Set=[3,4,5] var z=x.isSuperset(of:y) //x是不是y的父集,true var q=x.isStrictSuperset(of:y) //嚴格父集,false
(7)判斷是否有交集
var x:Set=[3] var y:Set=[3,4,5] var z=x.isDisjoint(with:y) //false