Swift开发标准教程-集合类型_第1页
Swift开发标准教程-集合类型_第2页
Swift开发标准教程-集合类型_第3页
Swift开发标准教程-集合类型_第4页
Swift开发标准教程-集合类型_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

集合类型4.1数组4.2数组的操作4.3集合4.4集合的操作4.5集合的基本运算4.6集合间关系4.7字典4.8字典的操作4.9综合案例4.10上机实践4.1数组4.1.1数组字面量4.1.2数组的声明4.1.3数组的初始化4.1.1数组字面量数组字面量(也称数组字面值)使用值、“,”和“[]”组成的,其语法形式如下:[value1,value2,value3,……]4.1.2数组的声明数组的写法形式如下:Array<Element>或者是[Element]数组也是一种变量或者常量,只是它所指代的值比较特殊而已。所以,在使用数组之前,必须对其进行声明。其语法形式如下:let常量数组名:[Element]=内容var变量数组名:[Element]=内容

//内容可写可不写4.1.3数组的初始化数组初始化就是为声明的数组进行赋值。本小节将讲解5种初始化数组的方式,分别为:使用字面量初始化数组、初始化一个空数组、初始化一个带有默认值的数组、使用一个数组初始化数组以及通过两个数组相加创建一个数组。1.使用字面量初始化数组使用字面量初始化数组是数组进行初始化时最为简单的方式。02

letarray:[Int]=[1,2,3]

//使用[1,2,3]为数组进行初始化2.初始化一个空数组空数组是数组中最为简单的方式,它的初始化方式有两种:一种是直接赋空数组字面值;另一种是使用初始化语法。(1)直接赋空数组字面值02

letarray:[Int]=[]

//使用空的数组字面量为数组初始化(2)使用初始化语法使用初始化的语法可以初始化一个空的数组,例如以下的代码:leta=[Int]()3.初始化一个带有默认值的数组初始化的语法不仅可以初始化空数组,而且还可以初始化非空数组,此时可以指定数组的大小,以及数组的默认值。03

varthreeDoubles=[Double](count:3,repeatedValue:6.0)4.使用一个数组初始化数组我们可以通过一个已知的数组去初始化一个新的数组。02

varthreeDoubles=

[1,2,3]03

varanotherThreeDoubles=threeDoubles

//初始化5.通过两个数组相加初始化一个数组我们可以使用加法运算符(+)来组合两种已存在的相同类型的数组放入一个数组。新数组的数据类型会被从两个数组的数据类型中推断出来。02

varthreeDoubles=[Double](count:3,repeatedValue:6.0)03

varanotherThreeDoubles=Array(count:3,repeatedValue:2.5)04

varsixDoubles=threeDoubles+anotherThreeDoubles

//初始化数组4.2数组的操作4.2.1获取数组中元素个数4.2.2判断数组是否为空4.2.3在末尾添加一个元素4.2.4插入值4.2.5读取值4.2.6修改值4.2.7删除值4.2.1获取数组中元素个数数组所包含元素的个数也被称为数组的长度。数组提供了一个只读属性count用于读取数组的长度。其语法形式如下:数组名.count4.2.2判断数组是否为空判断数组是否为空的方法有两种,一种是使用count属性,另一种是使用isEmpty属性。以下就是对这两种方法的讲解。1.使用count属性count属性可以获取数组的长度,开发者可以根据获取长度的值来判断数组是否为空。2.使用isEmpty属性判断数组是否为空,除了可以通过数组的长度进行判断外,还可以使用isEmpty属性进行判断,其语法形式如下:数组名.isEmpty4.2.3在末尾添加一个元素在Swift中,可变数组的元素个数是可以改变的。开发者给一个声明好的数组在末尾添加元素。实现的方法有两种:一种方式是使用+=操作符,另一种方式是使用append()方法。以下是对这两种方法的具体介绍。1.使用+=+=操作符可以将一个元素添加到数组的末尾,其语法形式如下:数组名+=[元素]+=操作符不仅可以在数组的末尾添加一个元素,还可以将一个数组添加到另一个数组尾部。2.使用append()开发者除了使用+=操作符外,还可以使用append()方法添加元素。其语法形式如下:数组名.append(元素)4.2.4插入值在数组等集合类型中会为每一个元素所在位置进行编号,这个编号被称为索引,其中,第一个元素的索引值为0而不是1。开发者可以使用insert()方法在特定索引值位置处插入一个值(元素)。其语法形式如下:数组名.insert(_newElement:Element,atIndexi:Int)4.2.5读取值开发者可以直接用下标语法来获取数组中的数据项(即读取数组中的元素),下标语法就是把我们需要的数据项的索引值直接放在数组名称的方括号中即可,其语法形式如下:数组名[索引值]4.2.6修改值数组中的元素(值)是可以进行修改。本小节将讲解两种修改数组中元素的方法:一种是修改单个值;另一种是修改一系列的值。1.修改单个值修改单个值同样需要借助下标语法,其语法形式如下:数组名[索引值]=修改的值2.修改一系列的值使用下标语法不仅可以对单个元素进行修改,还可以一次性修改多个元素。02

vararray:[String]=["A","B","C","D","E","F"]04

array[2...5]=["1","2","3","4"]

//修改值4.2.7删除值在数组中有值的插入就会对应的存在值的删除,本小节将讲解3种在数组中删除值的方法,分别为:删除尾部元素、删除指定位置元素和删除所有元素。1.删除尾元素removeLast()方法可以删除数组中最后一个值(元素),其语法形式如下:数组名.removeLast()2.删除指定位置元素removeAtIndex()方法可以通过索引值将数组中任意位置的元素进行删除,其语法形式如下:数组名.removeAtIndex(index:Int)3.删除所有元素removeAll()方法可以将数组的所有元素都删除,其语法形式如下:数组名.removeAll()4.3集合4.3.1集合的声明4.3.2集合的初始化4.3.1集合的声明集合的写法形式如下:Set<Element>集合和数组样,在使用之前,必须要对其进行声明。其语法形式如下:let常量集合名:Set<Element>=内容var变量集合名:Set<Element>=内容4.3.2集合的初始化以下将讲解两种初始化集合的方法:第一种是使用数组字面量初始化集合;第二种是初始化一个空集合1.用数组字面量初始化集合使用数组字面量初始化集合是一般比较直接的方法。02

varletters:Set<Character>=["A","B","C"]2.初始化一个空集合空集合就是集合中没有任何的元素。初始化空集合有两种方式:第一种是直接赋空数组字面值;第二种是使用初始化方法。(1)直接赋空数组字面值在声明集合后,可以给集合赋一个空的数组字面量。02

varletters:Set<Character>=[](2)使用初始化语法使用初始化的语法可以初始化一个空的集合,例如以下的代码:varletters:Set<Character>=Set<Character>()4.4集合的操作4.4.1获取集合中元素个数4.4.2判断集合是否为空4.4.3判断集合中是否包含某一值4.4.4插入值4.4.5删除值4.4.6确定集合的顺序4.4.1获取集合中元素个数获取集合中元素的个数可以使用count,其语法形式如下:集合名.count4.4.2判断集合是否为空和判断数组数组为空一样,判断集合是否为空也有两种方式:一种是使用count属性,另一种是使用isEmpty属性。以下就是对这两种方法的讲解。1.使用count属性count属性可以获取数组的长度,开发者可以根据获取长度的值来判断数组是否为空。2.使用isEmpty属性判断集合是否为空,除了可以通过count属性外,还可以使用isEmpty属性进行判断,其语法形式如下:集合名.isEmpty4.4.3判断集合中是否包含某一值使用contains()方法可以判断集合中是否包含某一特定的值,其语法形式如下:集合名.contains(_member:Element)4.4.4插入值开发者可以为创建的集合插入值,这时最常使用到的方法为insert()方法,其语法形式如下:集合名.insert(_member:Element)4.4.5删除值有集合元素的插入,对应的就会有集合元素的删除。以下将讲解常用的3种删除集合中元素的方法。1.删除第一个值删除集合中第一个元素,需要使用到removeFirst()方法,其语法形式如下:集合名.removeFirst()2.删除指定的值删除指定的值需要使用到remove()方法,其语法形式如下:集合名.remove(_member:Element)3.删除所有的值如果开发者不再使用某一集合中所有的值,可以将此集合中的值全部删除,此时需要使用removeAll()方法,其语法形式如下:集合名.removeAll()4.4.6确定集合的顺序在以上这些程序的输出结果中可以看到,Swift的Set类型没有确定的顺序,为了让集合按照特定顺序输出,可以使用sort()方法,它将根据提供的序列返回一个有序集合。其语法形式如下:集合名.sort()4.5集合的基本运算4.5.1a∩b4.5.2a∪b4.5.3a-b4.5.4a-b∪b-a4.5.1a∩ba∩b称为集合a与b的交集。即由属于集合a且属于集合b的元素所组成的集合。在Swift编程语言中要实现集合a∩b的功能,需要使用到intersect()方法,该方法根据两个集合中都包含的值创建的一个新的集合。其语言形式如下:集合名.

intersect(_sequence:S)4.5.2a∪ba∪b称为集合a与b的并集,即由所有属于集合A或属于集合B的元素所组成的集合。在Swift编程语言中要实现集合a∪b的功能,需要使用到union()方法,该方法根据两个集合的值创建一个新的集合。其语言形式如下:集合名.

union(_sequence:S)4.5.3a-ba-b就是集合a和b的相对差集,只包含在集合a中,但不在集合b中的所有元素。在Swift编程语言中要实现集合a-b的功能,需要使用到subtract()方法,该方法根据不在该集合中的值创建一个新的集合。其语言形式如下:集合名.subtract

(_sequence:S)4.5.4a-b∪b-aa-b∪b-a可以用符号a△b表示,被称为集合a和b的对称差,它是指是只在集合A及B中的其中一个出现,没有在其交集中出现的元素。在Swift编程语言中要实现集合a-b∪b-a的功能,需要使用到exclusiveOr()方法,该方法根据在一个集合中但不在两个集合的交集中的值创建一个新的集合。其语法形式如下:集合名.exclusiveOr(_sequence:S)4.6集合间关系4.6.1相等判断4.6.2子集的判断4.6.3父集合的判断4.6.4其他判断4.6.1相等判断判断两个集合中是中的值是等,可以使用“==”进行判断,其语法形式如下:集合1==集合24.6.2子集的判断isStrictSubsetOf()方法可以对子集进行判断,其语法形式如下:集合名.isStrictSubsetOf(_sequence:S)4.6.3父集合的判断isStrictSupersetOf()可以对父集合进行判断,其语法形式如下:集合名.isStrictSupersetOf(_sequence:S)4.6.4其他判断除了以上提供的对关系的判断外,还有3种。方法功能isDisjointWith()判断两个集合是否不含有相同的值isSubsetOf()判断一个集合中的值是否也被包含在另外一个集合中isSupersetOf()判断一个集合中包含另一个集合中所有的值4.7字典4.7.1字典字面量4.7.2字典的声明4.7.3字典的初始化4.7.1字典字面量字典字面量就是直接书写的包含一个或者多个键值对的字典数值。一个键值对是一个键和值的组合。键和值使用冒号分隔,而多个键值对使用逗号分隔。其键值对语法形式如下:key:value其中,参数key表示键,value表示值。字典字面量就是有键值对和一对“[]”组合。字典字面量中可以只有一个键值对。这时的字典字面量语法形式如下:[key:value]当字典字面量中有多个键值对,其语法形式如下:[key1:value1,key2:value2,key3:value3……]4.7.2字典的声明字典的形式有两种,第一种是完整写法,其语法形式如下:Dictionary<KeyType,ValueType>第二种是[KeyType:ValueType]声明不可变字典的语法形式如下:let常量字典名:Dictionary<KeyType,ValueType>=内容let常量字典名:[KeyType:ValueType]=内容声明可变字典的语法形式如下:var常量字典名:Dictionary<KeyType,ValueType>=内容var常量字典名:[KeyType:ValueType]=内容4.7.3字典的初始化以下将讲解两种初始化集合的方法:第一种是使用数组字面量初始化集合;第二种是初始化一个空集合1.用字典字面量初始化字典使用字典字面量初始化集合是一般比较直接的方法。02

varairports:Dictionary<Int,String>=[1:"TorontoPearson",2:"Dublin"]04

varname:[Int:String]=[1:"Tom",2:"LiLy"]2.初始化一个空字典初始化空字典可以使用初始化语法。02

varnamesOfIntegers=[Int:String]()4.8字典的操作4.8.1获取字典中的元素个数4.8.2读取键的值4.8.3添加元素4.8.4修改键关联的值4.8.5删除值4.8.1获取字典中的元素个数获取字典中的元素个数即键值对个数需要使用到count属性,其语法形式如下:字典名.count4.8.2读取键的值和很多语言一种,字典中的键所对应的值可以单独读取。在Swift语言中,使用下标语法进行读取。字典中通过下标语法键读取值的语法形式如下:字典名[键]4.8.3添加元素下标语法除了可以对键的值进行读取外,还可以向字典中添加元素。04

name[4]="Abel"

//添加元素4.8.4修改键关联的值在字典中,每个键都对应一个值。开发者也可以修改键值的对应关系。修改的方式有两种:一种是使用下标语法;另一种是使用updateValue()方法。1.下标语法下标语法可以对字典中的键关联的值进行修改。04

nam

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论