前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >swift set

swift set

作者头像
赵哥窟
发布2018-09-13 11:51:43
7200
发布2018-09-13 11:51:43
举报
文章被收录于专栏:日常技术分享日常技术分享

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) 

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016.07.06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档