1. 程式人生 > >Swift,集合

Swift,集合

集合 log contains 特殊 remove int 創建 per intersect

1、創建集合(無序不可重復)

(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

  

  

  

Swift,集合