美文网首页
swift学习-集合(Set)

swift学习-集合(Set)

作者: JaneJie | 来源:发表于2015-08-11 10:45 被阅读6689次

Set类型语法

Swift中的Set类型被写为Set<T>,这里的T表示Set中允许存储的类型。

创建和构造一个空的Set

  • 你可以通过构造器语法创建一个特定类型的空集合:
var letters = Set<Character>()
  • 一个空的数组字面量创建一个空的Set:
var letters = Set<Character>()
leters.insert("a")
letters = []
  • 用数组字面量创建集合
var favoriteGenres: Set<String> = ["Rock","Classical",Hip hop""]

这里将favoriteGenres显示声明为Set<String>,如果不这么做,favoriteGenres会被推断为Array<String>类型.

访问和修改一个Set

  • 为了找出一个Set中元素的数量,可以使用其只读属性count:

  • 使用布尔属性isEmpty 作为一个缩写形势去检查count属性是否为0

  • 你可以通过调用Set的insert(_:)方法来添加一个新元素

  • 用Set的remove(_:)方法去删除一个元素,也可以通过removeAll()方法删除所有元素

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

  • Set和Array不同的是,Set是无序的,可以通过调用sort()方法来进行排序。

基本集合操作

  • 使用intersect(_:)方法根据两个集合中都包含的值创建的一个新的集合。
  • 使用exclusiveOr(_:)方法很据只在一个集合中但不在两个集合中的值创建一个新的集合。
  • 使用union(_:)方法根据两个集合的值创建一个新的集合。
  • 使用subtract(_:)方法根据不在该集合中的值创建一个新的集合。
let oddDigits: Set = [1,3,5,7,9]
let ecenDigits: Set = [0,2,4,6,8]
let singleDigitPrimeNumbers : Set = [2,3,5,7]
oddDigits.union(ecenDigits).sort()
//[0,1,2,3,4,5,6,7,8,9]
oddDigits.intersect(ecenDigits).sort
//[]
oddDigits.subtract(singleDigitPrimeNumbers).sort()
//[1,9]
oddDigits.exclusiveOr(singleDigitPrimeNumbers).sort()
//[1,2,9]

集合成员关系和相等

下面的插图描述了三个集合a,b和c,以及通过悬浮区域表述集合间共享的元素。Set a是Set b的父集合,因为 a 包含了 b中所有元素,相反的,Set b 是 a 的子集合,因为属于b的元素也被a 包含。Set b 和Set c 彼此不关联,因为他们之间没有共同的元素。

  • 使用“是否等”运算符(==)来判断两个集合是否包含全部相同的值。
  • 使用isSubsetOf(_:)方法来判断一个集合中的值是否也被包含在另外一个集合中。
  • 使用isSupersetOf(_:)方法来判断一个集合中包含的值是否含有另一个集合中所有的值。
  • 使用 isStrictSubsetOf(:)或者isStrictSupersetOf(:)方法来判断一个集合是否是另外一个集合的子集合或者父集合并且和特定集合不相等。
  • 使用isDisjointWith(_:)方法来判断两个集合是否不含有相同的值。
let houseAnimals : Set = ["?","?"]
let farmAnimals: Set = ["?","?","?","?","?"]
let cityAnimals: Set = ["?","?"]
houseAnimals. isSubsetOf(farmAnimals)
//true
farmAnimals. isSupersetOf(houseAnimals)
//true
farmAnimals. isDisjointWith(cityAnimals)
//true

相关文章

  • swift学习-集合(Set)

    Set类型语法 Swift中的Set类型被写为Set,这里的T表示Set中允许存储的类型。 创建和构造一个空...

  • swift学习-集合(Set)

    Set类型语法: Swift中的Set类型被写为Set,这里的T表示Set中允许存储的类型。 创建和构造一个空的S...

  • swift学习之集合(Set)

    Set 集合创建和初始化一个空集 用数组字面值创建一个集合 访问和修改一个集合 使用Boolean isEmpty...

  • Swift集合类型扩展

    对于Swift来说, 数组(Array)、字典(Dictoinary)、集合(Set) 统称集合类型(Collec...

  • Swift Collection Types

    Swift 提供来三种集合类型,即Array、Set、Dictionary。Array是值的有序集合;Set是无重...

  • iOS开发 - 「Swift 学习」Sets集合的遍历与相关的合

    Swift语言Set集合的遍历、合并、拆分、求交集的操作 Set集合的遍历 一、for in 遍历 二、按照特定顺...

  • Swift 集合(Set)

    demo链接:https://share.weiyun.com/5VRfIYP参考链接:http://www.sw...

  • 8.集合类型(CollectionType)

    kotlin_集合类型 Array_数组 Set Map swift_集合类型 Array_数组

  • Swift5.1集合类型

    4.集合类型 集合类型:Swift 语⾔提供数组(Array)、集合(Set)和字典(Dictionary)三种基...

  • 5.集合类型

    Swift 语言提供数组(Array)、集合(Set)和字典(Dictionary)三种基本的集合类型用来存储集合...

网友评论

      本文标题:swift学习-集合(Set)

      本文链接:https://www.haomeiwen.com/subject/gveiqttx.html