菜鸡学Swift2.0 7. 数组

1. 数组的声明

PS:数组是有类型的,一个数组里面不能出现不同类型的值
//显示声明数组
var numbers:[Int] = [1,2,3,4,5,6]
var vo: Array = [7,8,9,0]
//隐式声明数组
var nub = [2,4,6,8]

2. 声明空数组

var emptyArray1: [Int] = []
var emptyArray2: Array = []
var emptyArray3 = [Int]()
var empryArray4 = Array()

3. 初始化值相同的数组 (count:数量,repeatedValue:初始值)

var all = [Int](count:10,repeatedValue:1)
var all2 = Array(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]]

你可能感兴趣的:(菜鸡学Swift2.0 7. 数组)