Set

//Set是无序的 Array是有序的

 

//初始化

var letters = Set<Character>()

 

//插入 跟数组一样 只能添加同种类型的

letters.insert("a")

 

 

//清空

letters = []

 

 

 

var setA:Set<String> = ["av","yes"]

var setB:Set = ["sb","no"]

 

//判断空值

if setA.isEmpty {

    

}

 

 

//元素是合集的成员就移除它,并且返回移除的值,如果合集没有这个成员就返回 nil

let av = setA.remove("av")

 

 

//要检查合集是否包含了特定的元素

let iso:Bool = setB.contains("sb")

 

 

//循环遍历

for str in setB

{

    print(str)

}

 

//Swift Set类型是无序的。要以特定的顺序遍历合集的值,使用 sorted()方法,它把合集的元素作为使用 < 运算符排序了的数组返回。

for str in setB.sorted()

{

    print(str)

}

 

 

 

var setC:Set = ["a","b","c"]

var setD:Set = ["c","d","e"]

 

 

 

//创建一个只包含两个合集共有值的新合集 (加上sored有顺序 不加没有顺序)

var setBoth = setC.intersection(setD).sorted()

 

 

 

//创建一个只包含两个合集各自有的非共有值的新合集

var setOther = setC.symmetricDifference(setD).sorted()

 

 

//创建一个包含两个合集所有值的新合集

var setAll = setC.union(setD).sorted()

 

//创建一个两个合集当中不包含某个合集值的新合集。

var setNot = setC.subtracting(setD).sorted()

 

 

print("(setNot),(setC),(setD)")

 

 

var setE:Set = ["f","g"]

 

//相等运算符 ( == )来判断两个合集是否包含有相同的值

if setD == setC{

    

}

 

//确定一个合集的所有值是被某合集包含

if setE.isSubset(of: setC)

{

    

}

 

//确定一个合集是否包含某个合集的所有值

if setC.isSuperset(of: setE){

    

}

 

//来判断两个合集是否拥有相同的值

if setC.isDisjoint(with: setD){

    

}

 

 

原文地址:https://www.cnblogs.com/slc-lover/p/5653140.html