数组是一个可以存放相同类型的多个元素对象的有序线性列表,这些元素可以是任意类型,也可以是元组。但是如果在一个数组中出现在了与其他元素类型不同的元素,那么编译器就会报错。
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循环迭代访问;变量字典还能通过调用下标方式来新增一个键值对或修改一个键对应的值。
中括号[ ] 表示,数组值之间用逗号分隔1,如果数组声明为常量,则本身不能修改,且数组中的值也不能修改
2,指定数组的类型,语法:Array<Type>可以简写为 [Type]
4,当检测到数组中的元素相同的时候是 Swift类型的数组
当检测数组中的元素类型不同的时候, 则是OC类型的数组
如果想变成NSMutableArray则要显式的声明
5, var nullArray = [] 创建的是NSArray的数组类型, 因为Swift编译器不能推导数组类型
6,创建Swift空数组
7,创建初始化长度为4的Int数组, 并且这四个元素的初始化的值都是2
8,数组相加即为合并数组
9,
区间范围和等号右侧的元素个数不同, 元素多则插入,元素少去除多余的区间
max 和 min超过了数组的上下边界,则直接抛出异常
10, append insert removeall 都没有返回值
removelast removeAtIndex有返回值,返回被移除的值
empty判断是否为空, count计算数组的个数
11, 数组可以使用符合加法进行赋值 += 来追加元素的个数
12, 枚举数组中的元素
for...in 用变量或者下标都行
for(index, value) in enumerate(fourInt){}
1,字典使用中括号,key-value之间用逗号隔开, key:value的形式
如果字典中的key和value不是String类型的, 则不需要使用引号
2
3, 类型不同则是OC类型的NSDictionary, 若要是NSMutableDictionary 则显式声明
4,用let声明的字典,不仅字典本身不能再被修改,而且字典中的值也不能别修改
5,
6, dict[key] = value 如果有原来的key则修改, 没有则添加
7, updataValue方法返回修改前的值, dict[key] = nil 删除key-value
removeValueForKey 指定要删除数据的key, 并且返回待删除的value
8,
as! as? 同类型的 OC和Swift之间的转换
Int类型的 NSObject类型值转换成Int类型,不需要可选类型而是要加上!
as [String : Any]转换成Swift中的字典
9,遍历字典
当字典是NSDictionary的时候, 可以先将其转换成Dictionary的格式,然后再使用Keys 和 values属性获取相应的key 和 value
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)