swift set

Set是用来存储相同类型并且无序的集合类型,这是一个简单的Set集合:

var set:Set = [“1”,”2”,”3″]

set是一个Set类型的集合,集合中只能出现String类型的数据,如果放入了其他类型,会报错。但是如果没有指定集合中的数据类型,那就没有关系。

var set:Set = [“1”,”2”,”3”,4,5,6,7]

Set集合另外一个特性就是处理相同值,当一个Set中出现了相同值,不会抛出异常,只使用一个值。

letset:Set= ["1","2","3","4","1"]

print(set,"count:",set.count)  // ["4", "2", "1", "3"] count: 4

你可以通过调用Set的remove(_:)方法去删除一个元素,如果该值是该Set的一个元素则删除该元素并且返回被删除的元素值,否则如果该Set不包含该值,则返回nil。另外,Set中的所有元素可以通过它的removeAll()方法删除。

varset:Set= ["1","2","3","4"]

if let removedSet = set.remove("3") {

print("\(removedSet)? I'm over it.")

}else{

print("I never much cared for that.")

}

使用contains(_:)方法去检查Set中是否包含一个特定的值:

let set:Set= ["1","2","3","4"]

if set.contains("3") {

print("contains 3")

}else{

print("not found")

}

遍历一个集合

let set:Set= ["1","2","3","4","1"]

for item in set {

print(item)

}

集合操作


使用intersect(_:)方法根据两个集合中都包含的值创建的一个新的集合。

let set1:Set= [1,2,3,4]

let set2:Set= [3,4,5,6]

let intersectSet = set1.intersect(set2)  

print(intersectSet)    // [3, 4]

使用exclusiveOr(_:)方法根据在一个集合中但不在两个集合中的值创建一个新的集合。

let set1:Set= [1,2,3,4]

let set2:Set= [3,4,5,6]

let exclusiveOrSet = set1.exclusiveOr(set2)

print(exclusiveOrSet)  // [5, 6, 2, 1]

使用union(_:)方法根据两个集合的值创建一个新的集合。

let set1:Set= [1,2,3,4]

let set2:Set= [3,4,5,6]

let unionSet = set1.union(set2)

print(unionSet)  // [5, 6, 2, 3, 1, 4]

使用subtract(_:)方法根据不在该集合中的值创建一个新的集合。

let set1:Set= [1,2,3,4]

let set2:Set= [3,4,5,6]

let subtractSet = set1.subtract(set2) 

print(subtractSet)  //[2, 1]

使用“是否相等”运算符(==)来判断两个集合是否包含全部相同的值。

let set1:Set= [1,2]

let set2:Set= [4,3,2,1]

if(set1 == set2)

{

      print("true");

}

else

{

      print("false")  

}


使用isSubsetOf(_:)方法来判断一个集合中的值是否也被包含在另外一个集合中。

let set1:Set= [1,2]

let set2:Set= [4,3,2,1]

let bool = set1.isSubsetOf(set2)

print(bool)  // true

使用isSupersetOf(_:)方法来判断一个集合中包含另一个集合中所有的值。

let set1:Set= [1,2]

let set2:Set= [4,3,2,1]

let bool = set2.isSupersetOf(set1) // true

let bool = set1.isSupersetof(set2) // false

print(bool) 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容