您的位置:首页 > 移动开发 > Swift

swift 基础学习(4) - 数组

2017-04-10 00:00 218 查看
摘要: 数组的定义,
数组的遍历
数组的增,删,改
数组的合并

// MARK:--数组的定义

func demo() {

// OC使用[] 定义数组,没有@符
// 自动推导数组元素类型 [String] - >表示 数组中存放的都是String类型

let firstArray = ["hello","world"]
print(firstArray)

// 自动推导为[Int]->表示存放的都是 Int类型
// 与OC不同  基本类型都是结构体,不需要包装
let array = [1,2,3,4,5]
print(array)

// 自动推导为[CGPoint] OC中的结构体
let p = CGPoint(x: 10, y: 300)
let array2 = [p]
print(array2)

// 混合数组,自动推导为 [Any]- > 任意类型
// 实际开发中并不常用
let array3 = ["混合数组",p,1] as [Any]
print(array3)

// 空间容量不足的时候 会 *2
let array4 = [Int]()
print("\(array4.capacity)")

}

// MARK:--数组的遍历

func demo2()  {
// 定义数组 [String]
let array  = ["张三","李四","王二","麻子"]

//1,按照下标遍历
for i in 0..<array.count {
print(array[i])
}

//2, for in 遍历
for string in array {
print(string)
}

//3,遍历下标与内容 这里的 type 类型就是  元组
for type in array.enumerated() {
print("\(type.offset)  \(type.element)")
}

// 4,遍历下标与内容
for (n, s) in array.enumerated() {
print("\(n)--\(s)")
}

// 5,反序遍历
print("--------反序遍历--------")
for s in array.reversed() {
print(s)
}

// 6,反序遍历下标内容(先枚举,后反序)
for s in array.enumerated().reversed() {
print(s)
}

// 错误写法(下标和内容不一样)
for s in array.reversed().enumerated() {
print(s)
}
}

// MARK:- 数组的增,删,改
func demo3()  {
// OC 中数组分可变与不可变
var array  = ["张三","李四","王二","麻子"]

// 追加元素
array.append("隔壁老王")
print(array)

// 修改元素
array[0] = "隔壁老宋"
print(array)

// 删除元素
array.remove(at: 2)
print(array)

// 特殊用法  :删除所有元素,并保留空间
array.removeAll(keepingCapacity: true)
print("\(array)  \(array.capacity)")

}

// MARK:- 数组的合并
func demo4()  {

// 要合并的数组的类型 要保持一致
var array  = ["张三","李四","王二","麻子"] as [Any]
let array1  = ["老王","老宋","1",190] as [Any]
array += array1
print(array)

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息