数组的书写方式
var numbers =[0,1,2,3,4,5]
var numbers<Int> =[0,1,2,3,4,5]
var vowerls =["a","e","i"]
var vowerls<String> =["a","e","i"]
空数组书写方式
var empttyArray:[String] =[]
var empttyArray2: Array<String> =[]
var empttyArray3: =Array<Int>()
声明5个为0的数组
var allZeros =[Int}(count : 5, repeatedValue:0) [0,0,0,0,0]
ps:数组里面的类型必须统一
我们可以通过 .count 获得数组的长度
.isEmpty 判断是否为空,返回布尔值
number[0] 获取第数组中第0个值
.first 获取开始的第一个元素
.last获取最后一个元素
.minElement() 最小值
.maxElement()最大值
但数组有空的情况,需要解包
获取数组的子数组 numbers[2..<number.count]
.contains(1)是否包含1
.indexOf()获取子数组在数组中的位置,如果不存在则返回nil;
.append向数组中添加数据
.insert向指定角标位添加数据,注意角标越界
.removerFirst()删除第一个
.removerAtIndex()删除角标所在位
.removerRange(0..<4)删除范围数组
二维数组
var board = [[1,2],[2,3]]
和java的二维数组相似。
有序的
字典Dictionary
集合Set
无序的数据集
我们为什么使用集合?
集合无序的,集合包含数组没有的操作,集合保证唯一的,
var emptyset1 : Set<Int> = []
var emptySet2 = Set<Double>()
.contains是否存在
遍历 for skill in skillsOfB{
}
我们修改集合
.inset添加
.remove删除
集合没有提供修改集合的方法,我们只需要先删除然后添加
查找并集:
1、union a.union(b)
2、unionInPlace a.unionPlace(b)
区别,1是加 ,2是加等
查找交集:
1、intersect
2、intersectInPlace
减法
1、subtract a独有的
2、subtractinPlace
亦或
1、exclusiverOr 返回不共有的数据
2、exclusiveOrInPlae
.isSubsetOf判断一个集合是否是另一个集合的子集
.isStrictSubsetOf判断一个集合是否是另一个集合的真子集
.isSupersetOf判断一个集合是否是另一个集合的超集
.isStrictSupersetOf判断一个集合是否是另一个集合的真超集
.isDisjoinWith判断一个集合与另一个集合是否是相离的
总结: 数组:有序
集合:无序、唯一性、提供集合操作、快速查找
字典:键-值数据对