// Playground - noun: a place where people can play import UIKit //------------------------------------------------------------------------------
// 1. 数组定义
// 1> 使用[]能够高速定义数组。每个数组元素使用 , 分隔
// 2> 数组中的数据元素能够是不同类型
var array = ["hello", "swift", 1, 1.2] //------------------------------------------------------------------------------
// 2. 假设要让数组中存放的数据是同一种数据类型
// 能够在定义数组时指定当中的数据类型,代码例如以下:
//
// 1> array1是一个仅同意存放String的数组
var array1:[String]
array1 = ["hello", "swift"] // 2> array2是一个仅同意存放Int的数组
var array2:[Int] = [1, 2, 3, 4, 5] //------------------------------------------------------------------------------
// 3. 使用泛型创建数组
// 使用泛型定义数组时 <> 中的类型能够指定数组中存放的数据类型
//
// 1> array3是一个仅同意存放Int的数组。()会实例化数组
var array3 = Array<Int>() // 2> 在实例化数组时。能够使用数组的构造方法。指定数组初始成员
// 实例化一个数组,包括三个 20 的整数
var nums = Array<Int>(count: 3, repeatedValue: 20) //------------------------------------------------------------------------------
// 4. 数组常见操作
// 1> 追加元素
nums.append(21) // 也能够使用运算符直接向数组中加入元素
nums += 20 // 2> 插入元素
nums.insert(19, atIndex: 0)
nums.insert(10, atIndex: 3) // 在playground中能够直接输入变量/常量名称。就可以查看当前内容
nums // 3> 删除指定位置元素
nums.removeAtIndex(2) // 使用变量记录nums数组。本质上做了一次内存拷贝。兴许对数组的改动。不会影响该变量数组中的内容
var resultNums = nums var a = nums[3]
var b = 100
var c = a + b // 4> 删除末尾元素
nums.removeLast()
nums // 5> 删除全部元素。但保留存储空间
nums.removeAll(keepCapacity: true) // 显示resultNums中的内容,数组中的内容并没有受到影响
resultNums
nums // 6> 数组合并
// 保存同样数据类型的数组,能够使用 + 直接合并
var mergeArray = array2 + resultNums