1. 数组的声明
PS:数组是有类型的,一个数组里面不能出现不同类型的值
//显示声明数组
var numbers:[Int] = [1,2,3,4,5,6]
var vo: Array<Int> = [7,8,9,0]
//隐式声明数组
var nub = [2,4,6,8]
2. 声明空数组
var emptyArray1: [Int] = []
var emptyArray2: Array<Int> = []
var emptyArray3 = [Int]()
var empryArray4 = Array<Int>()
3. 初始化值相同的数组 (count:数量,repeatedValue:初始值)
var all = [Int](count:10,repeatedValue:1)
var all2 = Array<Int>(count:10,repeatedValue:2)
4. 数组的使用
var vo = ["A","E","I","O","U"]
// .count 统计数组内有多少个值
vo.count
// .isEmpty 判断数据值是否为空
vo.isEmpty
// 取数组中的值[下标] 注意数组越界,如果下标超出会报错
vo[0]
// .first 取数组第一位值
vo.first
// .last 取数组最后一位值
vo.last
var nubs = [1,2,3,4,5,6]
// .minElement()方法 获取数组中最小值
nubs.minElement()
// .maxElement()方法 获取数组中最大值
nubs.maxElement()
// .contains(需要检测的包含值)方法 检测数组中是否包含这个值
nubs.contains(1)
// .indexOf(需要检测的包含值)方法 检测数组中是否包含这个值,在数组中下标是多少
nubs.indexOf(3) //返回结果是3包含在数组中第"2"位 (从0开始算)
5. 数组遍历
// for in 循环遍历数组的值
for nub in nubs {
print(nub)
}
// .enumerate()方法 借助元祖用for(元祖)in(数组变量名).enumerate(){ ... } 一次遍历出下标和值
for (i,nub) in nubs.enumerate(){
print("\(i):\(nub)")
}
6. 数组的添加
var nubs = [1,2,3,4,5,6]
// .append()方法 向数组中添加一个值,在最后一位
nubs.append(7)
// += 向数组中添加一个值,在最后一位
nubs += [8]
// .insert()方法 向数组指定下标位置添加值(注意数组越界问题)
nubs.insert(0, atIndex: 0)
7. 数组的删除
var nubs = [1,2,3,4,5,6]
// .removeFirst()方法 删除数组第一个值
nubs.removeFirst()
// .removeLast()方法 删除数组最后一个值
nubs.removeLast()
// .removeAtIndex() 删除数组内下标是"2"的值
nubs.removeAtIndex(2)
// .removeRange() 删除数组区间下标内的数
nubs.removeRange(0..<3)
// .removeAll()方法 删除数组内所有值
nubs.removeAll()
8. 数组的修改
var nubs = [1,2,3,4,5,6]
// 以下标位置修改对应下标值
nubs [0] = 11
// 以区间下标修改对应下标值 如果值只是一个则合并
nubs[1...3] = [22,33,44]
nubs[4..<5] = [55,66]
9. 二维数组
就是把数组的成员当做数组 嵌套进来
var dnubs = [[1,2,3],[4,5,6]]
// 统计有多少维度
dnubs.count
// 统计下标为"0"的数组成员数组的个数
dnubs[0].count
// 向后添加一个数组成员值数组
dnubs.append([7,8,9])
dnubs += [[0,0,0]]