Array不同于NSArray,swift中数组成员类型是指定的,下面是其用法举例

var shoppingList: String[] = ["Eggs","Milk"] //声明和初始化,可简写如下:

var shoppingList = ["Eggs","Milk"] //因为初始值已经指定了类型为String数组

println("shopping list contains \(shoppingList.count) items") //count方法返回成员个数

if shoppingList.isEmpty {
    println("shopping list is empty")
}  //isEmpty方法返回数组是否为空

shoppingList.append("Flour") //添加一个成员

shoppingList += "Baking Powder" //添加成员的另一个方法

shoppingList += ["Chocolate","cheese","Butter"] //一次添加多个成员

var firstItem = shoppingList[0] //取出第一个成员的值

shoppingList[0] = "Six eggs" //修改第一个成员的值

shoppingList[4...6] = ["Bananas","Apples"] //修改下标为4到6个的三成员的值为两个值,数组个数减一个

//不能使用下标给数组添加一个值,即下标的值必须小于数组成员的个数

shoppingList.insert("Maple Syrup",atIndex: 0) //在0位置插入元素,新插入的元素下标为0,即0以后的元素位置后移

let mapleSyrup = shoppingList.removeAtIndex(0) //移除0位置的元素,并返回移除元素的值(可忽略)

let apples = shoppingList.removeLast() //移除最后一个元素,当然也可使用removeAtIndex方法

for item in shoppingList {
    println(item)
} //迭代数组

for (index,value) in enumerate(shoppingList) {
 println("Item \(index+1) : \(value)")
} //enumerate是全局方法,转换数组的每个元素为一个元组tuple

var someInts = Int[]() //创建空的数组方法

someInts.append(4)
someInts = [] //添加一个元素后,又赋值为空

var threeDoubles = Double[](repeats: 3,repeateValue: 0.0) //数组为[0.0,0.0,0.0]

var anotherThreeDoubles = Array(repeats: 3,repeateValue: 2.5) //省略数据类型的写法

var sixDoubles = threeDoubles+anotherThreeDoubles //两个数组连接,形成6个元素的数组
var shoppingList: String[] = ["Eggs","Milk"] //声明和初始化,可简写如下:

var shoppingList = ["Eggs","Milk"] //因为初始值已经指定了类型为String数组

println("shopping list contains \(shoppingList.count) items") //count方法返回成员个数

if shoppingList.isEmpty {
    println("shopping list is empty")
}  //isEmpty方法返回数组是否为空

shoppingList.append("Flour") //添加一个成员

shoppingList += "Baking Powder" //添加成员的另一个方法

shoppingList += ["Chocolate","cheese","Butter"] //一次添加多个成员

var firstItem = shoppingList[0] //取出第一个成员的值

shoppingList[0] = "Six eggs" //修改第一个成员的值

shoppingList[4...6] = ["Bananas","Apples"] //修改下标为4到6个的三成员的值为两个值,数组个数减一个

//不能使用下标给数组添加一个值,即下标的值必须小于数组成员的个数

shoppingList.insert("Maple Syrup",atIndex: 0) //在0位置插入元素,新插入的元素下标为0,即0以后的元素位置后移

let mapleSyrup = shoppingList.removeAtIndex(0) //移除0位置的元素,并返回移除元素的值(可忽略)

let apples = shoppingList.removeLast() //移除最后一个元素,当然也可使用removeAtIndex方法

for item in shoppingList {
    println(item)
} //迭代数组

for (index,value) in enumerate(shoppingList) {
 println("Item \(index+1) : \(value)")
} //enumerate是全局方法,转换数组的每个元素为一个元组tuple

var someInts = Int[]() //创建空的数组方法

someInts.append(4)
someInts = [] //添加一个元素后,又赋值为空

var threeDoubles = Double[](repeats: 3,repeateValue: 0.0) //数组为[0.0,0.0,0.0]

var anotherThreeDoubles = Array(repeats: 3,repeateValue: 2.5) //省略数据类型的写法

var sixDoubles = threeDoubles+anotherThreeDoubles //两个数组连接,形成6个元素的数组

字典Dictionary,无序,有唯一的key,并且key和value的类型也都是指定的。key必须是可唯一识别的

//声明和初始化
var airports: Dictionary<String,String> = ["TYO":"Tokyo","DUB":"Dublin"]

//有初始值的情况下可省略类型指定
var airports = ["TYO":"Tokyo","DUB":"Dublin"]

//获得字典成员个数
airports.count

//增加一个成员可直接使用下标
airports["LHR"] = "London"

//使用下标修改成员的值,此方法如果没有下标的key值则增加一个成员,如果有则修改这个成员的值
airports["LHT"] = "London Heathrow"

//updateValue(forKey:)方法也可实现添加和更新成员的功能,并且该返回一个可选变量,为该元素旧值或者nil
if let oldValue = airports.updateValue("Dublin International",forKey: "DUB") {
    println("The old value for DUB was \(oldValue)")
}

//下标法也会返回一个可选变量
if let airportName = airport["DUB"] {
    println("The name of airport is \(airportNmae)")
}else{
    println("The airport not in the dictionary")
}

//下标法可以移除一个元素
airports["APL"] = "Apple International"
airports["APL"] = nil 

//removeValueForKey方法也可删除一个元素,并且返回可选变量,为删除的元素value或者nil,与updateValue类似

//遍历字典
for (airportCode,airportName) in airports {
    println("\(airportCode):\(airportName)")
}

//单独遍历key或者value使用airports.keys 和 airports.values方法

//使用Array方法可创造一个数组
let airportCodes = Array(airports.keys)

//创建一个空的字典
var namesOfIntegers = Dictionary<int,Sting>()

//置空一个字典
namesOfIntegers[16] = "sixteen"
namesOfIntegers = [:]
//声明和初始化
var airports: Dictionary<String,String> = ["TYO":"Tokyo","DUB":"Dublin"]

//有初始值的情况下可省略类型指定
var airports = ["TYO":"Tokyo","DUB":"Dublin"]

//获得字典成员个数
airports.count

//增加一个成员可直接使用下标
airports["LHR"] = "London"

//使用下标修改成员的值,此方法如果没有下标的key值则增加一个成员,如果有则修改这个成员的值
airports["LHT"] = "London Heathrow"

//updateValue(forKey:)方法也可实现添加和更新成员的功能,并且该返回一个可选变量,为该元素旧值或者nil
if let oldValue = airports.updateValue("Dublin International",forKey: "DUB") {
    println("The old value for DUB was \(oldValue)")
}

//下标法也会返回一个可选变量
if let airportName = airport["DUB"] {
    println("The name of airport is \(airportNmae)")
}else{
    println("The airport not in the dictionary")
}

//下标法可以移除一个元素
airports["APL"] = "Apple International"
airports["APL"] = nil 

//removeValueForKey方法也可删除一个元素,并且返回可选变量,为删除的元素value或者nil,与updateValue类似

//遍历字典
for (airportCode,airportName) in airports {
    println("\(airportCode):\(airportName)")
}

//单独遍历key或者value使用airports.keys 和 airports.values方法

//使用Array方法可创造一个数组
let airportCodes = Array(airports.keys)

//创建一个空的字典
var namesOfIntegers = Dictionary<int,Sting>()

//置空一个字典
namesOfIntegers[16] = "sixteen"
namesOfIntegers = [:]

Array和Dictionary如果被声明为常量(let),则其大小是不可改变的

常量Dictionary的大小不可改变,其key对应的值也不可改变,但是Array的大小虽然不能改变,但是其成员的值是可以改变的