swift集合set介绍和使用 – Swift最新教程

上一章Swift教程请查看:swift数组使用

Swift集合用于存储相同类型的不同值,但它们不像数组那样有明确的顺序。

如果元素的顺序不是问题,或者希望确保没有重复的值,可以使用集合而不是数组。(集合只允许不同的值)

一个类型必须是可散列化的,才能存储在一个集合中,例如,如果x == y,则x.hashvalue = = y.hashvalue,表示它们的散列值相等。

所有基本的swift值在默认情况下都是hashable类型的,可以作为设置值使用。

创建集合

可以使用以下初始化器语法创建某个类型的空集

var someSet = Set<Character>()     //可以用set集合的数据类型替换字符。

访问和修改集合

你可以使用它的方法和属性访问或修改一个集合

“count”方法可以用来显示集合中元素的数量。

someSet.count        // 打印元素的数量

“insert”方法可用于在集合中插入值。

someSet.insert("c")   // 插入一个值到集合分钟

类似地,isEmpty可用于检查set是否为空。

someSet.isEmpty       // 根据集合元素返回true或false。

“remove”方法可用于删除集合中的值。

someSet.remove("c")     // 删除一个元素,可以使用removeAll()删除所有元素

“contains”方法可用于检查集合中是否存在值。

someSet.contains("c")     // 检查set是否包含此值。

遍历一个集合

可以使用for-in循环遍历一个集合:

for items in someSet {
    print(someSet)
 }
 
 // Swift的集合不是以一种有序的方式,而是以一种有序的方式在集合上迭代使用
 
 for items in someSet.sorted() {
    print(someSet)
 }  

执行集合操作

可以在swift集和上执行一些基本的集合操作。

下面是执行集合操作的方法:

  • 交集
  • 并集
  • 差集
let evens: Set = [10,12,14,16,18]
let odds: Set = [5,7,9,11,13]
let primes = [2,3,5,7]
odds.union(evens).sorted()
// [5,7,9,10,11,12,13,14,16,18]
odds.intersection(evens).sorted()
//[]
odds.subtracting(primes).sorted()
//[9, 11, 13]
微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?