Swift语言必学秘技:数组里面的使用方法
这一期我们来说一下Swift语言里面数组的应用方法。
在Swift语言中,数组中可以放入任何类型的数据。这些数据包括整型,字符串,甚至是对象。
第一部分,我们来看一下如何创建和初始化一个数组。
【数组的创建】
创建一个数组非常简单,只需要一个方括号,包含一系列用逗号分隔的数据就可以了。
【数组的初始化】
初始化一个数组,有这么几个方法,
第1个是可以填入一个初始的元素参数,另外一个参数是这个元素的重复次数。
第2个是可以填入一系列的数字。
第3个是,创建一个空数组。。也就是说,不提供任何初始化数据,数组就是个空的,没有任何元素在里面。
第二部分,我们来看一下,如何进行数组的检查。
数组的检查包括,检查数据是否为空:isEmpty,有多少个元素:count,以及数组的容量:capacity。
第三部分,我们来看一下,如何进行数组元素的访问。
指定某个位置的元素的访问,可以通过制定元素的索引来实现。
数组第1个元素的访问:first。
数组中最后一个元素的访问:last。
数组中某一段元素集合的访问,可以通过指定起始索引和终止索引来获取。
第四部分,我们来看一下,如何向数组中添加元素。
在结尾处添加一个元素用append。
在结尾处添加一个元素集合用append(contentsOf)。
在数组中插入一个元素用insert。
在数组中插入一个元素集用insert(contentsOf)。
在数组中替换一段数据集用replaceSubrange。
预定数组容量用reserveCapacity。
第五部分,我们来看一下,如何删除数组中的元素。
删除某个元素用remove(at)。
从头开始删除元素,用removeFirst。
从结尾处删除元素,用removeLast。
删除一段元素集,用removeSubrange。
删除所有元素,用removeAll。
第六部分,我们来看一下,如何查找元素。
检查是否包含某个元素,用contains(where:)。
查找第1个符合条件的元素,用first(where:)。
查找第1个符合条件的元素索引,用index(of:)。
返回最小值用min()。
返回指定比较条件的最小值用min(by:)。
返回最大值用max()。
返回指定比较条件的最大值用max(by:)。
第七部分,我们来看一下,如何选择元素。
从头开始选数据用prefix(_:)。
从指定位置开始选数据用prefix(through:)。
从后向前开始选数据用suffix(_:)。
从指定位置向后选数据用suffix(from:)。
第八部分,我们来看一下,如何遍历数组元素。
forEach(_:) 会遍历数组中的所有元素。
for in 会遍历数组中的所有元素。
enumerated() 数组中的所有元素及对应的索引。
第九部分,我们来看一下,数组的排序。
sort()会进行数组的排序。
sort(by:)会进行指定条件的数组的排序。
sorted()会返回一个排好序的数组。
reversed()会返回一个反序后的数组。
第十部分,我们来看一下,如何排除数组中的元素。
dropFirst()会排除数组中的第1个元素。
dropLast()会排除数组中的最后1个元素。
第十一部分,我们来看一下,数组中索引的操作。
startIndex会返回数组的第1个索引。
endIndex会返回数组的最后1个索引。
第十二部分,我们来看一下,如何拆分和合并数组元素。
用split(separator:maxSplits:omittingEmptySubsequences:)可以指定符号拆分数组元素。
用split(maxSplits:omittingEmptySubsequences:whereSeparator:)可以指定条件拆分数组元素。
用 joined(separator:) 可以用指定的符号合并数组元素。
joined()可以不用指定符号合并数组元素。
第十三部分,我们来看一下,数组的比较。
==(_: _:)用来判断两个数组是否包含同样的数据。
!=(::)用来判断两个数组是否不包含同样的数据。
elementsEqual(_:)用来判断两个数组,是否包含同样的数据,并且顺序相等。
starts(with:)用来判断数组的起始元素。
lexicographicallyPrecedes(_:) 用来判断两个数组中第一组不同元素在字典中的顺序比较。
第十四部分,我们来看一下,数组的描述。
description用来对这个数组进行简单的描述。
debugDescription用来对这个数组进行调试描述。
customMirror是对数组的属性进行描述。
第十五部分,我们来看一下,Swift数组和NSArray。
如果你使用了Objective-C的代码,可能需要从Objective-C的数组转成Swift的数组。
一种情形是数组的元素必须是一个类,并且加上 @objc注解。
另一种情形时,数组元素类型来自用基础类库Foundation。
这里是丁哥开讲,我们这一个话题就先探讨到这里,如果您有问题或者想法,请你给我留言,谢谢关注,我们下期再见。