数组:(Array)是一串有序的由相同类型元素构成的集合,let修饰时不可变数组,var修饰时可变数组
// 定义一个可变数组,必须初始化才能使用
var array1 : [String] = [String]()
// 定义一个不可变数组
let array2 : [NSObject] = ["wwl", 18]
声明
// 声明方式一
:var myArray1 : Array
// 声明方式二:var myArrray2 : [String]
初始化
// 定义时直接初始化
var array3 = ["aaa", "sss", "ddd"]
// 类型推导出 string
类型
// 先定义,后初始化
var array4 : Array<String>
array4 = ["fff", "ggg", "hhh"]
注意:数组必须要初始化才能使用,数组类型在声明的时候指定
数组操作:
// 添加数据
array.append("dd")
// 删除元素
array.removeFirst()
// 修改元素
array[0] = "ee"
// 取值
array[1]
//插入元素
array.insert("ttt", atIndex: 0)
// 取数组也可以用区间
array[1...2]
数组的遍历
// 普通遍历数组
for i in 0..<array.count{
print(array[i]) // 有下标
}
// for in 方式
for item in array {
print(item) // 不需要下标
}
// 设置遍历的区间
for item in array[0..<2] { // 0..<2 开区间 0,1 0...2 闭区间 0,1,2
print(item)
}
数组的合并
只有相同类型的数组才可以合并
var stringArr1 = ["aa", "bb","cc"]
var stringArr2 = ["dd", "ee"]
var stringArr3 = array + array1;
// 不建议一个数组中存放多种类型的数据
var objectArr1 = [22, 33, "aa"]
var objectArr2 = ["bb", 44]
objectArr1 + objectArr2
通过一个返回布尔类型的isEmpty属性检查数组的长度是否为0
var stringArr = ["aa", "bb", "cc"]
if !stringArr.isEmpty {
print("stringArr have \(stringArr.count) items")
} else {
print("stringArr is empty")
}
stringArr have 3 items
用(+=)操作符来把一个数组添加到另一个数组的末尾
(+=)操作符来把一个元素添加到数组末尾 好像删除了
var stringArr = ["aa", "bb", "cc"]
var stringArr1 = ["dd", "ee", "ff"]
stringArr1 += stringArr
print(stringArr1) // ["dd", "ee", "ff", "aa", "bb", "cc"]
Swift数组类型也提供初始化方法来创建确定长度和提供默认数值的数组。你可以通过这个初始化方法增加一个新的数组,元素的数量成为count,合适的默认值为repeatedValue
var threeStringArr = [String](count: 3, repeatedValue: "hi")
// 得益于类型推断,也可以不指定类型
var threeDoubleArr = Array(count: 3, repeatedValue: 2.0)
参考:http://www.cnblogs.com/10-19-92/p/5627619.html