一、数组的定义
//不可变数组
let a = [1,2,3]
//可变数组
var b:[Any] = ["a","b","c"]
b[1] = 3
b //["a", 3, "c"]
// Array<Any> 等效于 [Any]
var c:Array<Any> = [1,2,3,4,"a"]
c[1] = "d"
c //[1, "d", 3, 4, "a"]
var aaa = [String]()
aaa.append("a")
aaa.append("ccc")
aaa //["a","cc"]
二、数组的基本操作
// append
var aa = [2,1,3,5]
aa.append(4)
aa //[2, 1, 3, 5, 4]
// insert
aa.insert(6, at: 2)
aa //[2, 1, 6, 3, 5, 4]
aa.remove(at: 1)
aa //[2, 6, 3, 5, 4]
aa.popLast() //弹出最后一个元素
aa //[2, 6, 3, 5]
aa.removeLast()
aa //[2, 6, 3]
//删除最后两个元素
aa.removeLast(2)
aa //[2]
aa[0] = 3
aa //[3]
var bb = ["a","b","c","d","e","f","g"]
bb[4] //"e"
bb[1...4] //["b", "c", "d", "e"]
bb.max() //"g"
bb.min() //"a"
三、数组的其它操作
var cc = ["aa","bb","cc","dd"]
//个数
cc.count //4
//容量
cc.capacity //容量:4
cc.append("ee")
cc.count //5
cc.capacity //容量:8 (容量以原有容量的两倍增加)
cc //["aa","bb","cc","dd","ee"]
for i in 0..<cc.count{
print(i) //五次
}
for value in cc {
print(value)
}
//设置遍历区间
for value in cc[2...4]{
print(value) //cc/dd/ee
}
//遍历时取出下标
for (key,value) in cc.enumerated(){
print(key,value)
}
//要合并的数组类型必须一致
let dd1 = [1,2,3]
let dd2 = [2,3,4,5]
dd1 + dd2 //[1, 2, 3, 2, 3, 4, 5]
let ee1 = ["aa","bb","cc"]
let ee2 = ["cc","bb"]
ee1 + ee2 //["aa", "bb", "cc", "cc", "bb"]
let ff1:[Any] = [1,2,"f1"]
let ff2:Array<Any> = [4,32,"f2"]
ff1 + ff2 //[1, 2, "f1", 4, 32, "f2"]