swift4.0 数组Array,集合Set和字典Dictionary

如题所述

第1个回答  2022-06-11

数组是一个可以存放相同类型的多个元素对象的有序线性列表,这些元素可以是任意类型,也可以是元组。但是如果在一个数组中出现在了与其他元素类型不同的元素,那么编译器就会报错。

swift 中还提供了+操作符,可以把两个数组拼接在一起,组成一个新的数组。

数组对象的元素访问:如果访问指定元素,可以通过下标操作符[]来获得,若索引值超出了数组本身大小,那么程序会引发异常

count:获取数组个数
isEmpty:判断数组是否为空
contains( :):判断数组是否包含某个元素
append(
:):在该变量数组最后面添加元素
insert(_:at:):在该变量数组指定位置添加元素,原本的元素被移动到新元素后面
remove(at:):在该变量数组中移除指定位置的元素

注意:数组字面量(例如:[1,2,3]),本身是一个常量,如果我们对数组字面量进行添加等操作,则会引起编译器报错。

一个集合也能存放多个相同类型的元素,与数组不同的是:
1:一个集合不允许出现两个相同的元素
2:集合中的元素是无序的
3:并不是所有的类型对象都能作为集合的元素,不过swift的基本类型都可以

元素集合的访问不能像数组通过索引值,因为它是无序的,可以通过for-in循环,也可以通过flatMap方法,有选择性的将集合元素取出。

count:获取集合个数
isEmpty:判断集合是否为空
contains( :):判断集合是否包含某个元素
insert(
:at:):在该变量集合指定位置添加元素,如以存在,原本的元素被覆盖,保证唯一性
remove(at:):在该变量集合中移除指定位置的元素

字典与数组和集合不同,它是以一种键-值对的形式存储元素的,字典中不允许出两个相同的键,但是不同的键可以对应相同的值,字典的元素也是无序的。字典中键的类型与值的类型都是在声明中直接确定的,每个键的类型应该一致,每个值的类型也应该一致,键的类型和值的类型可以相同也可以不同。

对字典的值的访问类似于数组对元素的访问,可以通过下标操作符对字段的值进行访问,例如对于一个这样的字典对象dict[String :Int],我们可以通过dict["String"] 的方式来访问键“String”对应的值,不过这里得到的值是一个Optional对象,因为如果指定的键对应的值不存在,会返回空。

count: 获取字典的键值对元素个数
isEmpty:判断字典是否为空
keys:获取字典对象的所有键值
values:获取字典对象的所有值
updateValue(_:forKey:):更新一个键对应的值
removeValue(forKey:): 将指定的键的元素移除

注意:这里的keys和values返回的类型为LazyMapCollection,它与集合类型类似,不能通过下标访问元素,一般通过for-in循环迭代访问;变量字典还能通过调用下标方式来新增一个键值对或修改一个键对应的值。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网