数组
数组的初始化
let arr1 = ["a","b","c"]
let arr2:[String] = ["a","b","c"]
let arr3 = [String](count:3 repeatedValue:"a")
//arr1为:["a", "b", "c"]
//arr2为:["a", "b", "c"]
//arr3为:["a", "a", "a"]
数组的插入
var arr = ["a","b","c"]
arr += ["d"]
//arr为:["a", "b", "c", "d"]
arr.appendContentsOf(["e"])
//arr为:["a", "b", "c", "d","e"]
arr.append("f")
//arr为:["a", "b", "c", "d","e","f"]
arr.insert("g", atIndex: arr.endIndex.advancedBy(0))
//arr为:["a", "b", "c", "d","e","g"]
arr.insertContentsOf(["h","i"],at:arr.endIndex.advancedBy(-1))
//arr为:["a", "b", "c", "d", "e", "f", "h", "i", "g"]
数组的删除
arr.removeFirst()
//arr为:["b", "c", "d", "e", "f", "h", "i", "g"]
arr.removeLast()
//arr为:["b", "c", "d", "e", "f", "h", "i"]
arr.removeAtIndex(1)
//arr为:["b", "d", "e", "f", "h", "i"]
arr.removeFirst(2)
//arr为:["e", "f", "h", "i"]
arr.removeRange(Range(start:arr.startIndex.advancedBy(0), end: arr.endIndex.advancedBy(-1)))
//arr为:["i"]
数组的值修改
var shopList = ["egg","cheese","butter"]
shopList[0] = "chocolate"
//shopList为:["chocolate", "cheese", "butter"]
shopList[1...2] = ["apple","banana"]
//shopList为:["chocolate", "apple", "banana"]
shopList.replaceRange(Range(start:shopList.startIndex.advancedBy(0),end:shopList.endIndex.advancedBy(-1)), with: ["egg","cheese"])
//shopList为:["egg","cheese","banana"]
字典
字典的初始化
let dic1:Dictionary<String,[String]> = ["1":["a","b"],"2":["b","c"]]
//真是一个value为数组的字典,dic1为:["2": ["b", "c"], "1": ["a", "b"]]
let dic2:Dictionary<Int,String> = [1:"ni",2:"hao"]
//真是一个key为Int类型的字典,dic2为:[2: "hao", 1: "ni"]
var dic = [1:"first","2":["q","e"]]
//dic为[1: first, 2: (q,e)]。这样的初始化,dic打印出来的结果跟上面两种初始化方式有所不同,key关键字为
字符串时并没有双引号;value为数组时也不是用中括号表达,而是用的小括号,说明此时的数组是Optional可选类型。
字典值修改
dic[1] = "second"
dic.updateValue("third", forKey: 1)
字典值移除
dic.removeValueForKey("2")
dic[1] = nil
字典添加元素
var dic:Dictionary<String,String> =["a":"banana","b":"apple"]
dic["c"] = "pear"
print(dic)
//输出:["b": "apple", "a": "banana", "c": "april"]